KILLED proof of input_aPGu0UZoOT.trs # AProVE Commit ID: 5b976082cb74a395683ed8cc7acf94bd611ab29f fuhs 20230524 unpublished The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). (0) CpxTRS (1) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (2) CpxTRS (3) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (4) CpxTRS (5) CpxTrsToCdtProof [UPPER BOUND(ID), 59 ms] (6) CdtProblem (7) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (8) CpxRelTRS (9) RenamingProof [BOTH BOUNDS(ID, ID), 0 ms] (10) CpxRelTRS (11) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (12) typed CpxTrs (13) OrderProof [LOWER BOUND(ID), 22 ms] (14) typed CpxTrs (15) RewriteLemmaProof [LOWER BOUND(ID), 363 ms] (16) BEST (17) proven lower bound (18) LowerBoundPropagationProof [FINISHED, 0 ms] (19) BOUNDS(n^1, INF) (20) typed CpxTrs (21) RewriteLemmaProof [LOWER BOUND(ID), 114 ms] (22) typed CpxTrs (23) RewriteLemmaProof [LOWER BOUND(ID), 135 ms] (24) typed CpxTrs (25) RewriteLemmaProof [LOWER BOUND(ID), 51 ms] (26) typed CpxTrs (27) RewriteLemmaProof [LOWER BOUND(ID), 58 ms] (28) typed CpxTrs (29) RewriteLemmaProof [LOWER BOUND(ID), 128 ms] (30) typed CpxTrs (31) RewriteLemmaProof [LOWER BOUND(ID), 0 ms] (32) typed CpxTrs (33) RewriteLemmaProof [LOWER BOUND(ID), 3 ms] (34) typed CpxTrs (35) RewriteLemmaProof [LOWER BOUND(ID), 42 ms] (36) typed CpxTrs (37) RewriteLemmaProof [LOWER BOUND(ID), 42 ms] (38) typed CpxTrs (39) RelTrsToWeightedTrsProof [UPPER BOUND(ID), 0 ms] (40) CpxWeightedTrs (41) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (42) CpxTypedWeightedTrs (43) CompletionProof [UPPER BOUND(ID), 0 ms] (44) CpxTypedWeightedCompleteTrs (45) NarrowingProof [BOTH BOUNDS(ID, ID), 12 ms] (46) CpxTypedWeightedCompleteTrs (47) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (48) CpxRNTS (49) InliningProof [UPPER BOUND(ID), 873 ms] (50) CpxRNTS (51) SimplificationProof [BOTH BOUNDS(ID, ID), 47 ms] (52) CpxRNTS (53) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 2 ms] (54) CpxRNTS (55) ResultPropagationProof [UPPER BOUND(ID), 5 ms] (56) CpxRNTS (57) IntTrsBoundProof [UPPER BOUND(ID), 137 ms] (58) CpxRNTS (59) IntTrsBoundProof [UPPER BOUND(ID), 27 ms] (60) CpxRNTS (61) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (62) CpxRNTS (63) IntTrsBoundProof [UPPER BOUND(ID), 393 ms] (64) CpxRNTS (65) IntTrsBoundProof [UPPER BOUND(ID), 157 ms] (66) CpxRNTS (67) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (68) CpxRNTS (69) IntTrsBoundProof [UPPER BOUND(ID), 202 ms] (70) CpxRNTS (71) IntTrsBoundProof [UPPER BOUND(ID), 115 ms] (72) CpxRNTS (73) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (74) CpxRNTS (75) IntTrsBoundProof [UPPER BOUND(ID), 142 ms] (76) CpxRNTS (77) IntTrsBoundProof [UPPER BOUND(ID), 45 ms] (78) CpxRNTS (79) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (80) CpxRNTS (81) IntTrsBoundProof [UPPER BOUND(ID), 395 ms] (82) CpxRNTS (83) IntTrsBoundProof [UPPER BOUND(ID), 187 ms] (84) CpxRNTS (85) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (86) CpxRNTS (87) IntTrsBoundProof [UPPER BOUND(ID), 214 ms] (88) CpxRNTS (89) IntTrsBoundProof [UPPER BOUND(ID), 165 ms] (90) CpxRNTS (91) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (92) CpxRNTS (93) IntTrsBoundProof [UPPER BOUND(ID), 201 ms] (94) CpxRNTS (95) IntTrsBoundProof [UPPER BOUND(ID), 44 ms] (96) CpxRNTS (97) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (98) CpxRNTS (99) IntTrsBoundProof [UPPER BOUND(ID), 350 ms] (100) CpxRNTS (101) IntTrsBoundProof [UPPER BOUND(ID), 105 ms] (102) CpxRNTS (103) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (104) CpxRNTS (105) IntTrsBoundProof [UPPER BOUND(ID), 550 ms] (106) CpxRNTS (107) IntTrsBoundProof [UPPER BOUND(ID), 269 ms] (108) CpxRNTS (109) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (110) CpxRNTS (111) CompletionProof [UPPER BOUND(ID), 13 ms] (112) CpxTypedWeightedCompleteTrs (113) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (114) CpxRNTS (115) CpxTrsToCdtProof [UPPER BOUND(ID), 0 ms] (116) CdtProblem (117) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (118) CdtProblem (119) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 6 ms] (120) CdtProblem (121) CdtUsableRulesProof [BOTH BOUNDS(ID, ID), 0 ms] (122) CdtProblem (123) CdtToCpxRelTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (124) CpxRelTRS (125) RelTrsToTrsProof [UPPER BOUND(ID), 0 ms] (126) CpxTRS (127) RelTrsToWeightedTrsProof [BOTH BOUNDS(ID, ID), 0 ms] (128) CpxWeightedTrs (129) TypeInferenceProof [BOTH BOUNDS(ID, ID), 0 ms] (130) CpxTypedWeightedTrs (131) CompletionProof [UPPER BOUND(ID), 0 ms] (132) CpxTypedWeightedCompleteTrs (133) NarrowingProof [BOTH BOUNDS(ID, ID), 412 ms] (134) CpxTypedWeightedCompleteTrs (135) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 30 ms] (136) CpxRNTS (137) InliningProof [UPPER BOUND(ID), 10.8 s] (138) CpxRNTS (139) SimplificationProof [BOTH BOUNDS(ID, ID), 280 ms] (140) CpxRNTS (141) CpxRntsAnalysisOrderProof [BOTH BOUNDS(ID, ID), 0 ms] (142) CpxRNTS (143) ResultPropagationProof [UPPER BOUND(ID), 14 ms] (144) CpxRNTS (145) IntTrsBoundProof [UPPER BOUND(ID), 133 ms] (146) CpxRNTS (147) IntTrsBoundProof [UPPER BOUND(ID), 44 ms] (148) CpxRNTS (149) ResultPropagationProof [UPPER BOUND(ID), 36 ms] (150) CpxRNTS (151) IntTrsBoundProof [UPPER BOUND(ID), 153 ms] (152) CpxRNTS (153) IntTrsBoundProof [UPPER BOUND(ID), 44 ms] (154) CpxRNTS (155) ResultPropagationProof [UPPER BOUND(ID), 20 ms] (156) CpxRNTS (157) IntTrsBoundProof [UPPER BOUND(ID), 194 ms] (158) CpxRNTS (159) IntTrsBoundProof [UPPER BOUND(ID), 74 ms] (160) CpxRNTS (161) ResultPropagationProof [UPPER BOUND(ID), 17 ms] (162) CpxRNTS (163) IntTrsBoundProof [UPPER BOUND(ID), 184 ms] (164) CpxRNTS (165) IntTrsBoundProof [UPPER BOUND(ID), 35 ms] (166) CpxRNTS (167) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (168) CpxRNTS (169) IntTrsBoundProof [UPPER BOUND(ID), 114 ms] (170) CpxRNTS (171) IntTrsBoundProof [UPPER BOUND(ID), 94 ms] (172) CpxRNTS (173) ResultPropagationProof [UPPER BOUND(ID), 14 ms] (174) CpxRNTS (175) IntTrsBoundProof [UPPER BOUND(ID), 183 ms] (176) CpxRNTS (177) IntTrsBoundProof [UPPER BOUND(ID), 95 ms] (178) CpxRNTS (179) ResultPropagationProof [UPPER BOUND(ID), 14 ms] (180) CpxRNTS (181) IntTrsBoundProof [UPPER BOUND(ID), 366 ms] (182) CpxRNTS (183) IntTrsBoundProof [UPPER BOUND(ID), 94 ms] (184) CpxRNTS (185) ResultPropagationProof [UPPER BOUND(ID), 9 ms] (186) CpxRNTS (187) IntTrsBoundProof [UPPER BOUND(ID), 365 ms] (188) CpxRNTS (189) IntTrsBoundProof [UPPER BOUND(ID), 94 ms] (190) CpxRNTS (191) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (192) CpxRNTS (193) IntTrsBoundProof [UPPER BOUND(ID), 81 ms] (194) CpxRNTS (195) IntTrsBoundProof [UPPER BOUND(ID), 63 ms] (196) CpxRNTS (197) ResultPropagationProof [UPPER BOUND(ID), 21 ms] (198) CpxRNTS (199) IntTrsBoundProof [UPPER BOUND(ID), 535 ms] (200) CpxRNTS (201) IntTrsBoundProof [UPPER BOUND(ID), 135 ms] (202) CpxRNTS (203) ResultPropagationProof [UPPER BOUND(ID), 18 ms] (204) CpxRNTS (205) IntTrsBoundProof [UPPER BOUND(ID), 143 ms] (206) CpxRNTS (207) IntTrsBoundProof [UPPER BOUND(ID), 44 ms] (208) CpxRNTS (209) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (210) CpxRNTS (211) IntTrsBoundProof [UPPER BOUND(ID), 203 ms] (212) CpxRNTS (213) IntTrsBoundProof [UPPER BOUND(ID), 33 ms] (214) CpxRNTS (215) ResultPropagationProof [UPPER BOUND(ID), 6 ms] (216) CpxRNTS (217) IntTrsBoundProof [UPPER BOUND(ID), 414 ms] (218) CpxRNTS (219) IntTrsBoundProof [UPPER BOUND(ID), 114 ms] (220) CpxRNTS (221) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (222) CpxRNTS (223) IntTrsBoundProof [UPPER BOUND(ID), 152 ms] (224) CpxRNTS (225) IntTrsBoundProof [UPPER BOUND(ID), 84 ms] (226) CpxRNTS (227) ResultPropagationProof [UPPER BOUND(ID), 0 ms] (228) CpxRNTS (229) IntTrsBoundProof [UPPER BOUND(ID), 469 ms] (230) CpxRNTS (231) IntTrsBoundProof [UPPER BOUND(ID), 105 ms] (232) CpxRNTS (233) ResultPropagationProof [UPPER BOUND(ID), 258 ms] (234) CpxRNTS (235) CompletionProof [UPPER BOUND(ID), 0 ms] (236) CpxTypedWeightedCompleteTrs (237) CpxTypedWeightedTrsToRntsProof [UPPER BOUND(ID), 0 ms] (238) CpxRNTS (239) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 431 ms] (240) CdtProblem (241) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (242) CdtProblem (243) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (244) CdtProblem (245) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 ms] (246) CdtProblem (247) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (248) CdtProblem (249) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 5 ms] (250) CdtProblem (251) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (252) CdtProblem (253) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 172 ms] (254) CdtProblem (255) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (256) CdtProblem (257) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (258) CdtProblem (259) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (260) CdtProblem (261) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (262) CdtProblem (263) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 181 ms] (264) CdtProblem (265) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (266) CdtProblem (267) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (268) CdtProblem (269) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 184 ms] (270) CdtProblem (271) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (272) CdtProblem (273) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 4 ms] (274) CdtProblem (275) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 2 ms] (276) CdtProblem (277) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (278) CdtProblem (279) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 221 ms] (280) CdtProblem (281) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (282) CdtProblem (283) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (284) CdtProblem (285) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 210 ms] (286) CdtProblem (287) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (288) CdtProblem (289) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 8 ms] (290) CdtProblem (291) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (292) CdtProblem (293) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 1 ms] (294) CdtProblem (295) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 236 ms] (296) CdtProblem (297) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (298) CdtProblem (299) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (300) CdtProblem (301) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 190 ms] (302) CdtProblem (303) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (304) CdtProblem (305) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (306) CdtProblem (307) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (308) CdtProblem (309) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 218 ms] (310) CdtProblem (311) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (312) CdtProblem (313) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (314) CdtProblem (315) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 244 ms] (316) CdtProblem (317) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (318) CdtProblem (319) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 231 ms] (320) CdtProblem (321) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (322) CdtProblem (323) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (324) CdtProblem (325) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (326) CdtProblem (327) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (328) CdtProblem (329) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 10 ms] (330) CdtProblem (331) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (332) CdtProblem (333) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 226 ms] (334) CdtProblem (335) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (336) CdtProblem (337) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (338) CdtProblem (339) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 248 ms] (340) CdtProblem (341) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 2 ms] (342) CdtProblem (343) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 164 ms] (344) CdtProblem (345) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (346) CdtProblem (347) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (348) CdtProblem (349) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (350) CdtProblem (351) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 213 ms] (352) CdtProblem (353) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 291 ms] (354) CdtProblem (355) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (356) CdtProblem (357) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (358) CdtProblem (359) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (360) CdtProblem (361) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (362) CdtProblem (363) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (364) CdtProblem (365) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 292 ms] (366) CdtProblem (367) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 374 ms] (368) CdtProblem (369) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (370) CdtProblem (371) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (372) CdtProblem (373) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (374) CdtProblem (375) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (376) CdtProblem (377) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (378) CdtProblem (379) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 423 ms] (380) CdtProblem (381) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (382) CdtProblem (383) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 3 ms] (384) CdtProblem (385) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 424 ms] (386) CdtProblem (387) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (388) CdtProblem (389) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 355 ms] (390) CdtProblem (391) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (392) CdtProblem (393) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (394) CdtProblem (395) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (396) CdtProblem (397) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 281 ms] (398) CdtProblem (399) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 474 ms] (400) CdtProblem (401) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (402) CdtProblem (403) CdtLeafRemovalProof [BOTH BOUNDS(ID, ID), 0 ms] (404) CdtProblem (405) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (406) CdtProblem (407) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (408) CdtProblem (409) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (410) CdtProblem (411) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 276 ms] (412) CdtProblem (413) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 486 ms] (414) CdtProblem (415) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 0 ms] (416) CdtProblem (417) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (418) CdtProblem (419) CdtGraphSplitRhsProof [BOTH BOUNDS(ID, ID), 0 ms] (420) CdtProblem (421) CdtNarrowingProof [BOTH BOUNDS(ID, ID), 9 ms] (422) CdtProblem (423) CdtRhsSimplificationProcessorProof [BOTH BOUNDS(ID, ID), 0 ms] (424) CdtProblem (425) CdtRuleRemovalProof [UPPER BOUND(ADD(n^1)), 561 ms] (426) CdtProblem ---------------------------------------- (0) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: fstsplit(0, x) -> nil fstsplit(s(n), nil) -> nil fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) sndsplit(0, x) -> x sndsplit(s(n), nil) -> nil sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) empty(nil) -> true empty(cons(h, t)) -> false leq(0, m) -> true leq(s(n), 0) -> false leq(s(n), s(m)) -> leq(n, m) length(nil) -> 0 length(cons(h, t)) -> s(length(t)) app(nil, x) -> x app(cons(h, t), x) -> cons(h, app(t, x)) map_f(pid, nil) -> nil map_f(pid, cons(h, t)) -> app(f(pid, h), map_f(pid, t)) head(cons(h, t)) -> h tail(cons(h, t)) -> t ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, tail(in_2), st_2, in_3, st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, tail(in_3), st_3, m) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (1) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (2) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: fstsplit(0', x) -> nil fstsplit(s(n), nil) -> nil fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) sndsplit(0', x) -> x sndsplit(s(n), nil) -> nil sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) empty(nil) -> true empty(cons(h, t)) -> false leq(0', m) -> true leq(s(n), 0') -> false leq(s(n), s(m)) -> leq(n, m) length(nil) -> 0' length(cons(h, t)) -> s(length(t)) app(nil, x) -> x app(cons(h, t), x) -> cons(h, app(t, x)) map_f(pid, nil) -> nil map_f(pid, cons(h, t)) -> app(f(pid, h), map_f(pid, t)) head(cons(h, t)) -> h tail(cons(h, t)) -> t ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, tail(in_2), st_2, in_3, st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, tail(in_3), st_3, m) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (3) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (4) Obligation: The Runtime Complexity (parallel-innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: fstsplit(0, x) -> nil fstsplit(s(n), nil) -> nil fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) sndsplit(0, x) -> x sndsplit(s(n), nil) -> nil sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) empty(nil) -> true empty(cons(h, t)) -> false leq(0, m) -> true leq(s(n), 0) -> false leq(s(n), s(m)) -> leq(n, m) length(nil) -> 0 length(cons(h, t)) -> s(length(t)) app(nil, x) -> x app(cons(h, t), x) -> cons(h, app(t, x)) map_f(pid, nil) -> nil map_f(pid, cons(h, t)) -> app(f(pid, h), map_f(pid, t)) head(cons(h, t)) -> h tail(cons(h, t)) -> t ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, tail(in_2), st_2, in_3, st_3, m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, tail(in_3), st_3, m) S is empty. Rewrite Strategy: PARALLEL_INNERMOST ---------------------------------------- (5) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (6) Obligation: Complexity Dependency Tuples Problem Rules: fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Tuples: FSTSPLIT(0, z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0, z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0, z0) -> c8 LEQ(s(z0), 0) -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) S tuples: FSTSPLIT(0, z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0, z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0, z0) -> c8 LEQ(s(z0), 0) -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) K tuples:none Defined Rule Symbols: fstsplit_2, sndsplit_2, empty_1, leq_2, length_1, app_2, map_f_2, head_1, tail_1, ring_6, if_1_7, if_2_7, if_3_7, if_4_7, if_5_7, if_6_7, if_7_7, if_8_7, if_9_7 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, EMPTY_1, LEQ_2, LENGTH_1, APP_2, MAP_F_2, HEAD_1, TAIL_1, RING_6, IF_1_7, IF_2_7, IF_3_7, IF_4_7, IF_5_7, IF_6_7, IF_7_7, IF_8_7, IF_9_7 Compound Symbols: c, c1, c2_1, c3, c4, c5_1, c6, c7, c8, c9, c10_1, c11, c12_1, c13, c14_1, c15, c16_2, c17, c18, c19_3, c20_3, c21_4, c22_3, c23_4, c24_2, c25_2, c26_3, c27_6, c28_2, c29_2, c30_2, c31_5, c32_5, c33_2, c34_3, c35_6, c36_2, c37_2, c38_5, c39_2 ---------------------------------------- (7) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (8) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: FSTSPLIT(0, z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0, z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0, z0) -> c8 LEQ(s(z0), 0) -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) The (relative) TRS S consists of the following rules: fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Rewrite Strategy: INNERMOST ---------------------------------------- (9) RenamingProof (BOTH BOUNDS(ID, ID)) Renamed function symbols to avoid clashes with predefined symbol. ---------------------------------------- (10) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(n^1, INF). The TRS R consists of the following rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) The (relative) TRS S consists of the following rules: fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Rewrite Strategy: INNERMOST ---------------------------------------- (11) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Inferred types. ---------------------------------------- (12) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 ---------------------------------------- (13) OrderProof (LOWER BOUND(ID)) Heuristically decided to analyse the following defined symbols: FSTSPLIT, SNDSPLIT, LEQ, LENGTH, APP, MAP_F, map_f, RING, fstsplit, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: FSTSPLIT < RING SNDSPLIT < RING LEQ < RING LENGTH < RING APP < MAP_F APP < RING map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (14) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: FSTSPLIT, SNDSPLIT, LEQ, LENGTH, APP, MAP_F, map_f, RING, fstsplit, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: FSTSPLIT < RING SNDSPLIT < RING LEQ < RING LENGTH < RING APP < MAP_F APP < RING map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (15) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) Induction Base: FSTSPLIT(gen_0':s26_40(0), gen_nil:cons:f27_40(0)) ->_R^Omega(1) c Induction Step: FSTSPLIT(gen_0':s26_40(+(n34_40, 1)), gen_nil:cons:f27_40(+(n34_40, 1))) ->_R^Omega(1) c2(FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40))) ->_IH c2(gen_c:c1:c225_40(c35_40)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (16) Complex Obligation (BEST) ---------------------------------------- (17) Obligation: Proved the lower bound n^1 for the following obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: FSTSPLIT, SNDSPLIT, LEQ, LENGTH, APP, MAP_F, map_f, RING, fstsplit, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: FSTSPLIT < RING SNDSPLIT < RING LEQ < RING LENGTH < RING APP < MAP_F APP < RING map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (18) LowerBoundPropagationProof (FINISHED) Propagated lower bound. ---------------------------------------- (19) BOUNDS(n^1, INF) ---------------------------------------- (20) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: SNDSPLIT, LEQ, LENGTH, APP, MAP_F, map_f, RING, fstsplit, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: SNDSPLIT < RING LEQ < RING LENGTH < RING APP < MAP_F APP < RING map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (21) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) Induction Base: SNDSPLIT(gen_0':s26_40(0), gen_nil:cons:f27_40(0)) ->_R^Omega(1) c3 Induction Step: SNDSPLIT(gen_0':s26_40(+(n1092_40, 1)), gen_nil:cons:f27_40(+(n1092_40, 1))) ->_R^Omega(1) c5(SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40))) ->_IH c5(gen_c3:c4:c528_40(c1093_40)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (22) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: LEQ, LENGTH, APP, MAP_F, map_f, RING, fstsplit, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: LEQ < RING LENGTH < RING APP < MAP_F APP < RING map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (23) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) Induction Base: LEQ(gen_0':s26_40(0), gen_0':s26_40(0)) ->_R^Omega(1) c8 Induction Step: LEQ(gen_0':s26_40(+(n2259_40, 1)), gen_0':s26_40(+(n2259_40, 1))) ->_R^Omega(1) c10(LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40))) ->_IH c10(gen_c8:c9:c1029_40(c2260_40)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (24) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: LENGTH, APP, MAP_F, map_f, RING, fstsplit, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: LENGTH < RING APP < MAP_F APP < RING map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (25) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) Induction Base: LENGTH(gen_nil:cons:f27_40(0)) ->_R^Omega(1) c11 Induction Step: LENGTH(gen_nil:cons:f27_40(+(n3392_40, 1))) ->_R^Omega(1) c12(LENGTH(gen_nil:cons:f27_40(n3392_40))) ->_IH c12(gen_c11:c1230_40(c3393_40)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (26) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: APP, MAP_F, map_f, RING, fstsplit, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: APP < MAP_F APP < RING map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (27) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b)) -> gen_c13:c1431_40(n4132_40), rt in Omega(1 + n4132_40) Induction Base: APP(gen_nil:cons:f27_40(0), gen_nil:cons:f27_40(b)) ->_R^Omega(1) c13 Induction Step: APP(gen_nil:cons:f27_40(+(n4132_40, 1)), gen_nil:cons:f27_40(b)) ->_R^Omega(1) c14(APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b))) ->_IH c14(gen_c13:c1431_40(c4133_40)) We have rt in Omega(n^1) and sz in O(n). Thus, we have irc_R in Omega(n). ---------------------------------------- (28) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b)) -> gen_c13:c1431_40(n4132_40), rt in Omega(1 + n4132_40) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: fstsplit, MAP_F, map_f, RING, leq, length, sndsplit, app, ring They will be analysed ascendingly in the following order: map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring fstsplit < RING leq < RING length < RING sndsplit < RING app < RING fstsplit < ring leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (29) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: fstsplit(gen_0':s26_40(n5754_40), gen_nil:cons:f27_40(n5754_40)) -> gen_nil:cons:f27_40(n5754_40), rt in Omega(0) Induction Base: fstsplit(gen_0':s26_40(0), gen_nil:cons:f27_40(0)) ->_R^Omega(0) nil Induction Step: fstsplit(gen_0':s26_40(+(n5754_40, 1)), gen_nil:cons:f27_40(+(n5754_40, 1))) ->_R^Omega(0) cons(nil, fstsplit(gen_0':s26_40(n5754_40), gen_nil:cons:f27_40(n5754_40))) ->_IH cons(nil, gen_nil:cons:f27_40(c5755_40)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (30) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b)) -> gen_c13:c1431_40(n4132_40), rt in Omega(1 + n4132_40) fstsplit(gen_0':s26_40(n5754_40), gen_nil:cons:f27_40(n5754_40)) -> gen_nil:cons:f27_40(n5754_40), rt in Omega(0) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: leq, MAP_F, map_f, RING, length, sndsplit, app, ring They will be analysed ascendingly in the following order: map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring leq < RING length < RING sndsplit < RING app < RING leq < ring length < ring sndsplit < ring app < ring ---------------------------------------- (31) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: leq(gen_0':s26_40(n6913_40), gen_0':s26_40(n6913_40)) -> true, rt in Omega(0) Induction Base: leq(gen_0':s26_40(0), gen_0':s26_40(0)) ->_R^Omega(0) true Induction Step: leq(gen_0':s26_40(+(n6913_40, 1)), gen_0':s26_40(+(n6913_40, 1))) ->_R^Omega(0) leq(gen_0':s26_40(n6913_40), gen_0':s26_40(n6913_40)) ->_IH true We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (32) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b)) -> gen_c13:c1431_40(n4132_40), rt in Omega(1 + n4132_40) fstsplit(gen_0':s26_40(n5754_40), gen_nil:cons:f27_40(n5754_40)) -> gen_nil:cons:f27_40(n5754_40), rt in Omega(0) leq(gen_0':s26_40(n6913_40), gen_0':s26_40(n6913_40)) -> true, rt in Omega(0) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: length, MAP_F, map_f, RING, sndsplit, app, ring They will be analysed ascendingly in the following order: map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring length < RING sndsplit < RING app < RING length < ring sndsplit < ring app < ring ---------------------------------------- (33) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: length(gen_nil:cons:f27_40(n7626_40)) -> gen_0':s26_40(n7626_40), rt in Omega(0) Induction Base: length(gen_nil:cons:f27_40(0)) ->_R^Omega(0) 0' Induction Step: length(gen_nil:cons:f27_40(+(n7626_40, 1))) ->_R^Omega(0) s(length(gen_nil:cons:f27_40(n7626_40))) ->_IH s(gen_0':s26_40(c7627_40)) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (34) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b)) -> gen_c13:c1431_40(n4132_40), rt in Omega(1 + n4132_40) fstsplit(gen_0':s26_40(n5754_40), gen_nil:cons:f27_40(n5754_40)) -> gen_nil:cons:f27_40(n5754_40), rt in Omega(0) leq(gen_0':s26_40(n6913_40), gen_0':s26_40(n6913_40)) -> true, rt in Omega(0) length(gen_nil:cons:f27_40(n7626_40)) -> gen_0':s26_40(n7626_40), rt in Omega(0) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: sndsplit, MAP_F, map_f, RING, app, ring They will be analysed ascendingly in the following order: map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring sndsplit < RING app < RING sndsplit < ring app < ring ---------------------------------------- (35) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: sndsplit(gen_0':s26_40(n8246_40), gen_nil:cons:f27_40(n8246_40)) -> gen_nil:cons:f27_40(0), rt in Omega(0) Induction Base: sndsplit(gen_0':s26_40(0), gen_nil:cons:f27_40(0)) ->_R^Omega(0) gen_nil:cons:f27_40(0) Induction Step: sndsplit(gen_0':s26_40(+(n8246_40, 1)), gen_nil:cons:f27_40(+(n8246_40, 1))) ->_R^Omega(0) sndsplit(gen_0':s26_40(n8246_40), gen_nil:cons:f27_40(n8246_40)) ->_IH gen_nil:cons:f27_40(0) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (36) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b)) -> gen_c13:c1431_40(n4132_40), rt in Omega(1 + n4132_40) fstsplit(gen_0':s26_40(n5754_40), gen_nil:cons:f27_40(n5754_40)) -> gen_nil:cons:f27_40(n5754_40), rt in Omega(0) leq(gen_0':s26_40(n6913_40), gen_0':s26_40(n6913_40)) -> true, rt in Omega(0) length(gen_nil:cons:f27_40(n7626_40)) -> gen_0':s26_40(n7626_40), rt in Omega(0) sndsplit(gen_0':s26_40(n8246_40), gen_nil:cons:f27_40(n8246_40)) -> gen_nil:cons:f27_40(0), rt in Omega(0) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: app, MAP_F, map_f, RING, ring They will be analysed ascendingly in the following order: map_f < MAP_F MAP_F < RING map_f < RING app < map_f map_f < ring app < RING app < ring ---------------------------------------- (37) RewriteLemmaProof (LOWER BOUND(ID)) Proved the following rewrite lemma: app(gen_nil:cons:f27_40(n9941_40), gen_nil:cons:f27_40(b)) -> gen_nil:cons:f27_40(+(n9941_40, b)), rt in Omega(0) Induction Base: app(gen_nil:cons:f27_40(0), gen_nil:cons:f27_40(b)) ->_R^Omega(0) gen_nil:cons:f27_40(b) Induction Step: app(gen_nil:cons:f27_40(+(n9941_40, 1)), gen_nil:cons:f27_40(b)) ->_R^Omega(0) cons(nil, app(gen_nil:cons:f27_40(n9941_40), gen_nil:cons:f27_40(b))) ->_IH cons(nil, gen_nil:cons:f27_40(+(b, c9942_40))) We have rt in Omega(1) and sz in O(n). Thus, we have irc_R in Omega(n^0). ---------------------------------------- (38) Obligation: Innermost TRS: Rules: FSTSPLIT(0', z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0', z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0', z0) -> c8 LEQ(s(z0), 0') -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) fstsplit(0', z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0', z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0', z0) -> true leq(s(z0), 0') -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0' length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Types: FSTSPLIT :: 0':s -> nil:cons:f -> c:c1:c2 0' :: 0':s c :: c:c1:c2 s :: 0':s -> 0':s nil :: nil:cons:f c1 :: c:c1:c2 cons :: nil:cons:f -> nil:cons:f -> nil:cons:f c2 :: c:c1:c2 -> c:c1:c2 SNDSPLIT :: 0':s -> nil:cons:f -> c3:c4:c5 c3 :: c3:c4:c5 c4 :: c3:c4:c5 c5 :: c3:c4:c5 -> c3:c4:c5 EMPTY :: nil:cons:f -> c6:c7 c6 :: c6:c7 c7 :: c6:c7 LEQ :: 0':s -> 0':s -> c8:c9:c10 c8 :: c8:c9:c10 c9 :: c8:c9:c10 c10 :: c8:c9:c10 -> c8:c9:c10 LENGTH :: nil:cons:f -> c11:c12 c11 :: c11:c12 c12 :: c11:c12 -> c11:c12 APP :: nil:cons:f -> nil:cons:f -> c13:c14 c13 :: c13:c14 c14 :: c13:c14 -> c13:c14 MAP_F :: two:three -> nil:cons:f -> c15:c16 c15 :: c15:c16 c16 :: c13:c14 -> c15:c16 -> c15:c16 f :: two:three -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f HEAD :: nil:cons:f -> c17 c17 :: c17 TAIL :: nil:cons:f -> c18 c18 :: c18 RING :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> c19:c20:c21:c22:c23 c19 :: c24:c25 -> c6:c7 -> c:c1:c2 -> c19:c20:c21:c22:c23 IF_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c24:c25 empty :: nil:cons:f -> false:true fstsplit :: 0':s -> nil:cons:f -> nil:cons:f c20 :: c26:c27 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c26:c27 leq :: 0':s -> 0':s -> false:true length :: nil:cons:f -> 0':s c21 :: c33 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c33 two :: two:three head :: nil:cons:f -> nil:cons:f c22 :: c34:c35 -> c8:c9:c10 -> c11:c12 -> c19:c20:c21:c22:c23 IF_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c34:c35 c23 :: c39 -> c6:c7 -> c15:c16 -> c17 -> c19:c20:c21:c22:c23 IF_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c39 three :: two:three false :: false:true c24 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c24:c25 sndsplit :: 0':s -> nil:cons:f -> nil:cons:f c25 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c24:c25 true :: false:true c26 :: c28:c29 -> c6:c7 -> c:c1:c2 -> c26:c27 IF_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c28:c29 c27 :: c30:c31:c32 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c26:c27 IF_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c30:c31:c32 app :: nil:cons:f -> nil:cons:f -> nil:cons:f c28 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c28:c29 c29 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c28:c29 c30 :: c19:c20:c21:c22:c23 -> c18 -> c30:c31:c32 tail :: nil:cons:f -> nil:cons:f c31 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c32 :: c19:c20:c21:c22:c23 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c30:c31:c32 c33 :: c19:c20:c21:c22:c23 -> c18 -> c33 c34 :: c36 -> c6:c7 -> c:c1:c2 -> c34:c35 IF_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c36 c35 :: c37:c38 -> c6:c7 -> c:c1:c2 -> c13:c14 -> c15:c16 -> c17 -> c34:c35 IF_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> c37:c38 c36 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c36 c37 :: c19:c20:c21:c22:c23 -> c18 -> c37:c38 c38 :: c19:c20:c21:c22:c23 -> c3:c4:c5 -> c13:c14 -> c15:c16 -> c17 -> c37:c38 c39 :: c19:c20:c21:c22:c23 -> c18 -> c39 ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0':s -> false:true -> ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 hole_c:c1:c21_40 :: c:c1:c2 hole_0':s2_40 :: 0':s hole_nil:cons:f3_40 :: nil:cons:f hole_c3:c4:c54_40 :: c3:c4:c5 hole_c6:c75_40 :: c6:c7 hole_c8:c9:c106_40 :: c8:c9:c10 hole_c11:c127_40 :: c11:c12 hole_c13:c148_40 :: c13:c14 hole_c15:c169_40 :: c15:c16 hole_two:three10_40 :: two:three hole_c1711_40 :: c17 hole_c1812_40 :: c18 hole_c19:c20:c21:c22:c2313_40 :: c19:c20:c21:c22:c23 hole_c24:c2514_40 :: c24:c25 hole_false:true15_40 :: false:true hole_c26:c2716_40 :: c26:c27 hole_c3317_40 :: c33 hole_c34:c3518_40 :: c34:c35 hole_c3919_40 :: c39 hole_c28:c2920_40 :: c28:c29 hole_c30:c31:c3221_40 :: c30:c31:c32 hole_c3622_40 :: c36 hole_c37:c3823_40 :: c37:c38 hole_ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_824_40 :: ring:if_1:if_2:if_5:if_6:if_9:if_3:if_4:if_7:if_8 gen_c:c1:c225_40 :: Nat -> c:c1:c2 gen_0':s26_40 :: Nat -> 0':s gen_nil:cons:f27_40 :: Nat -> nil:cons:f gen_c3:c4:c528_40 :: Nat -> c3:c4:c5 gen_c8:c9:c1029_40 :: Nat -> c8:c9:c10 gen_c11:c1230_40 :: Nat -> c11:c12 gen_c13:c1431_40 :: Nat -> c13:c14 gen_c15:c1632_40 :: Nat -> c15:c16 Lemmas: FSTSPLIT(gen_0':s26_40(n34_40), gen_nil:cons:f27_40(n34_40)) -> gen_c:c1:c225_40(n34_40), rt in Omega(1 + n34_40) SNDSPLIT(gen_0':s26_40(n1092_40), gen_nil:cons:f27_40(n1092_40)) -> gen_c3:c4:c528_40(n1092_40), rt in Omega(1 + n1092_40) LEQ(gen_0':s26_40(n2259_40), gen_0':s26_40(n2259_40)) -> gen_c8:c9:c1029_40(n2259_40), rt in Omega(1 + n2259_40) LENGTH(gen_nil:cons:f27_40(n3392_40)) -> gen_c11:c1230_40(n3392_40), rt in Omega(1 + n3392_40) APP(gen_nil:cons:f27_40(n4132_40), gen_nil:cons:f27_40(b)) -> gen_c13:c1431_40(n4132_40), rt in Omega(1 + n4132_40) fstsplit(gen_0':s26_40(n5754_40), gen_nil:cons:f27_40(n5754_40)) -> gen_nil:cons:f27_40(n5754_40), rt in Omega(0) leq(gen_0':s26_40(n6913_40), gen_0':s26_40(n6913_40)) -> true, rt in Omega(0) length(gen_nil:cons:f27_40(n7626_40)) -> gen_0':s26_40(n7626_40), rt in Omega(0) sndsplit(gen_0':s26_40(n8246_40), gen_nil:cons:f27_40(n8246_40)) -> gen_nil:cons:f27_40(0), rt in Omega(0) app(gen_nil:cons:f27_40(n9941_40), gen_nil:cons:f27_40(b)) -> gen_nil:cons:f27_40(+(n9941_40, b)), rt in Omega(0) Generator Equations: gen_c:c1:c225_40(0) <=> c gen_c:c1:c225_40(+(x, 1)) <=> c2(gen_c:c1:c225_40(x)) gen_0':s26_40(0) <=> 0' gen_0':s26_40(+(x, 1)) <=> s(gen_0':s26_40(x)) gen_nil:cons:f27_40(0) <=> nil gen_nil:cons:f27_40(+(x, 1)) <=> cons(nil, gen_nil:cons:f27_40(x)) gen_c3:c4:c528_40(0) <=> c3 gen_c3:c4:c528_40(+(x, 1)) <=> c5(gen_c3:c4:c528_40(x)) gen_c8:c9:c1029_40(0) <=> c8 gen_c8:c9:c1029_40(+(x, 1)) <=> c10(gen_c8:c9:c1029_40(x)) gen_c11:c1230_40(0) <=> c11 gen_c11:c1230_40(+(x, 1)) <=> c12(gen_c11:c1230_40(x)) gen_c13:c1431_40(0) <=> c13 gen_c13:c1431_40(+(x, 1)) <=> c14(gen_c13:c1431_40(x)) gen_c15:c1632_40(0) <=> c15 gen_c15:c1632_40(+(x, 1)) <=> c16(c13, gen_c15:c1632_40(x)) The following defined symbols remain to be analysed: map_f, MAP_F, RING, ring They will be analysed ascendingly in the following order: map_f < MAP_F MAP_F < RING map_f < RING map_f < ring ---------------------------------------- (39) RelTrsToWeightedTrsProof (UPPER BOUND(ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (40) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: fstsplit(0, x) -> nil [1] fstsplit(s(n), nil) -> nil [1] fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) [1] sndsplit(0, x) -> x [1] sndsplit(s(n), nil) -> nil [1] sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) [1] empty(nil) -> true [1] empty(cons(h, t)) -> false [1] leq(0, m) -> true [1] leq(s(n), 0) -> false [1] leq(s(n), s(m)) -> leq(n, m) [1] length(nil) -> 0 [1] length(cons(h, t)) -> s(length(t)) [1] app(nil, x) -> x [1] app(cons(h, t), x) -> cons(h, app(t, x)) [1] map_f(pid, nil) -> nil [1] map_f(pid, cons(h, t)) -> app(f(pid, h), map_f(pid, t)) [1] head(cons(h, t)) -> h [1] tail(cons(h, t)) -> t [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) [1] if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) [1] if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) [1] if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) [1] if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, tail(in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) [1] if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) [1] if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) [1] if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, tail(in_3), st_3, m) [1] Rewrite Strategy: INNERMOST ---------------------------------------- (41) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (42) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: fstsplit(0, x) -> nil [1] fstsplit(s(n), nil) -> nil [1] fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) [1] sndsplit(0, x) -> x [1] sndsplit(s(n), nil) -> nil [1] sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) [1] empty(nil) -> true [1] empty(cons(h, t)) -> false [1] leq(0, m) -> true [1] leq(s(n), 0) -> false [1] leq(s(n), s(m)) -> leq(n, m) [1] length(nil) -> 0 [1] length(cons(h, t)) -> s(length(t)) [1] app(nil, x) -> x [1] app(cons(h, t), x) -> cons(h, app(t, x)) [1] map_f(pid, nil) -> nil [1] map_f(pid, cons(h, t)) -> app(f(pid, h), map_f(pid, t)) [1] head(cons(h, t)) -> h [1] tail(cons(h, t)) -> t [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) [1] if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) [1] if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) [1] if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) [1] if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, tail(in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) [1] if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) [1] if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) [1] if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, tail(in_3), st_3, m) [1] The TRS has the following type information: fstsplit :: 0:s -> nil:cons:f -> nil:cons:f 0 :: 0:s nil :: nil:cons:f s :: 0:s -> 0:s cons :: nil:cons:f -> nil:cons:f -> nil:cons:f sndsplit :: 0:s -> nil:cons:f -> nil:cons:f empty :: nil:cons:f -> true:false true :: true:false false :: true:false leq :: 0:s -> 0:s -> true:false length :: nil:cons:f -> 0:s app :: nil:cons:f -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f f :: two:three -> nil:cons:f -> nil:cons:f head :: nil:cons:f -> nil:cons:f tail :: nil:cons:f -> nil:cons:f ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 two :: two:three if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 three :: two:three if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 Rewrite Strategy: INNERMOST ---------------------------------------- (43) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: ring_6 if_1_7 if_2_7 if_3_7 if_4_7 if_5_7 if_6_7 if_7_7 if_8_7 if_9_7 (c) The following functions are completely defined: empty_1 fstsplit_2 map_f_2 head_1 leq_2 length_1 tail_1 app_2 sndsplit_2 Due to the following rules being added: empty(v0) -> null_empty [0] fstsplit(v0, v1) -> nil [0] map_f(v0, v1) -> nil [0] head(v0) -> nil [0] length(v0) -> 0 [0] tail(v0) -> nil [0] app(v0, v1) -> nil [0] sndsplit(v0, v1) -> nil [0] And the following fresh constants: null_empty, const ---------------------------------------- (44) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: fstsplit(0, x) -> nil [1] fstsplit(s(n), nil) -> nil [1] fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) [1] sndsplit(0, x) -> x [1] sndsplit(s(n), nil) -> nil [1] sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) [1] empty(nil) -> true [1] empty(cons(h, t)) -> false [1] leq(0, m) -> true [1] leq(s(n), 0) -> false [1] leq(s(n), s(m)) -> leq(n, m) [1] length(nil) -> 0 [1] length(cons(h, t)) -> s(length(t)) [1] app(nil, x) -> x [1] app(cons(h, t), x) -> cons(h, app(t, x)) [1] map_f(pid, nil) -> nil [1] map_f(pid, cons(h, t)) -> app(f(pid, h), map_f(pid, t)) [1] head(cons(h, t)) -> h [1] tail(cons(h, t)) -> t [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) [1] if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) [1] if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) [1] if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) [1] if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, tail(in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) [1] if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) [1] if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) [1] if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, tail(in_3), st_3, m) [1] empty(v0) -> null_empty [0] fstsplit(v0, v1) -> nil [0] map_f(v0, v1) -> nil [0] head(v0) -> nil [0] length(v0) -> 0 [0] tail(v0) -> nil [0] app(v0, v1) -> nil [0] sndsplit(v0, v1) -> nil [0] The TRS has the following type information: fstsplit :: 0:s -> nil:cons:f -> nil:cons:f 0 :: 0:s nil :: nil:cons:f s :: 0:s -> 0:s cons :: nil:cons:f -> nil:cons:f -> nil:cons:f sndsplit :: 0:s -> nil:cons:f -> nil:cons:f empty :: nil:cons:f -> true:false:null_empty true :: true:false:null_empty false :: true:false:null_empty leq :: 0:s -> 0:s -> true:false:null_empty length :: nil:cons:f -> 0:s app :: nil:cons:f -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f f :: two:three -> nil:cons:f -> nil:cons:f head :: nil:cons:f -> nil:cons:f tail :: nil:cons:f -> nil:cons:f ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 two :: two:three if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 three :: two:three if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 null_empty :: true:false:null_empty const :: ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 Rewrite Strategy: INNERMOST ---------------------------------------- (45) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (46) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: fstsplit(0, x) -> nil [1] fstsplit(s(n), nil) -> nil [1] fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) [1] sndsplit(0, x) -> x [1] sndsplit(s(n), nil) -> nil [1] sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) [1] empty(nil) -> true [1] empty(cons(h, t)) -> false [1] leq(0, m) -> true [1] leq(s(n), 0) -> false [1] leq(s(n), s(m)) -> leq(n, m) [1] length(nil) -> 0 [1] length(cons(h, t)) -> s(length(t)) [1] app(nil, x) -> x [1] app(cons(h, t), x) -> cons(h, app(t, x)) [1] map_f(pid, nil) -> nil [1] map_f(pid, cons(h, nil)) -> app(f(pid, h), nil) [2] map_f(pid, cons(h, cons(h', t'))) -> app(f(pid, h), app(f(pid, h'), map_f(pid, t'))) [2] map_f(pid, cons(h, t)) -> app(f(pid, h), nil) [1] head(cons(h, t)) -> h [1] tail(cons(h, t)) -> t [1] ring(st_1, in_2, st_2, in_3, st_3, 0) -> if_1(st_1, in_2, st_2, in_3, st_3, 0, empty(nil)) [2] ring(nil, in_2, st_2, in_3, st_3, s(n')) -> if_1(nil, in_2, st_2, in_3, st_3, s(n'), empty(nil)) [2] ring(cons(h'', t''), in_2, st_2, in_3, st_3, s(n'')) -> if_1(cons(h'', t''), in_2, st_2, in_3, st_3, s(n''), empty(cons(h'', fstsplit(n'', t'')))) [2] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(nil)) [1] if_1(st_1, in_2, st_2, in_3, st_3, 0, false) -> ring(st_1, cons(nil, in_2), st_2, in_3, st_3, 0) [3] if_1(st_1, in_2, st_2, in_3, st_3, 0, false) -> ring(st_1, cons(nil, in_2), st_2, in_3, st_3, 0) [2] if_1(nil, in_2, st_2, in_3, st_3, s(n1), false) -> ring(nil, cons(nil, in_2), st_2, in_3, st_3, s(n1)) [3] if_1(nil, in_2, st_2, in_3, st_3, s(n1), false) -> ring(nil, cons(nil, in_2), st_2, in_3, st_3, s(n1)) [2] if_1(cons(h1, t1), in_2, st_2, in_3, st_3, s(n2), false) -> ring(sndsplit(n2, t1), cons(cons(h1, fstsplit(n2, t1)), in_2), st_2, in_3, st_3, s(n2)) [3] if_1(cons(h1, t1), in_2, st_2, in_3, st_3, s(n2), false) -> ring(sndsplit(n2, t1), cons(nil, in_2), st_2, in_3, st_3, s(n2)) [2] if_1(st_1, in_2, st_2, in_3, st_3, 0, false) -> ring(nil, cons(nil, in_2), st_2, in_3, st_3, 0) [2] if_1(nil, in_2, st_2, in_3, st_3, s(n3), false) -> ring(nil, cons(nil, in_2), st_2, in_3, st_3, s(n3)) [2] if_1(cons(h2, t2), in_2, st_2, in_3, st_3, s(n4), false) -> ring(nil, cons(cons(h2, fstsplit(n4, t2)), in_2), st_2, in_3, st_3, s(n4)) [2] if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(nil, cons(nil, in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, nil, in_3, st_3, m) -> if_2(st_1, in_2, nil, in_3, st_3, m, leq(m, 0)) [2] ring(st_1, in_2, cons(h3, t3), in_3, st_3, m) -> if_2(st_1, in_2, cons(h3, t3), in_3, st_3, m, leq(m, s(length(t3)))) [2] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, 0)) [1] if_2(st_1, in_2, st_2, in_3, st_3, 0, true) -> if_3(st_1, in_2, st_2, in_3, st_3, 0, empty(nil)) [2] if_2(st_1, in_2, nil, in_3, st_3, s(n5), true) -> if_3(st_1, in_2, nil, in_3, st_3, s(n5), empty(nil)) [2] if_2(st_1, in_2, cons(h4, t4), in_3, st_3, s(n6), true) -> if_3(st_1, in_2, cons(h4, t4), in_3, st_3, s(n6), empty(cons(h4, fstsplit(n6, t4)))) [2] if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(nil)) [1] if_3(st_1, in_2, st_2, in_3, st_3, 0, false) -> ring(st_1, in_2, st_2, cons(nil, in_3), st_3, 0) [3] if_3(st_1, in_2, st_2, in_3, st_3, 0, false) -> ring(st_1, in_2, st_2, cons(nil, in_3), st_3, 0) [2] if_3(st_1, in_2, nil, in_3, st_3, s(n7), false) -> ring(st_1, in_2, nil, cons(nil, in_3), st_3, s(n7)) [3] if_3(st_1, in_2, nil, in_3, st_3, s(n7), false) -> ring(st_1, in_2, nil, cons(nil, in_3), st_3, s(n7)) [2] if_3(st_1, in_2, cons(h5, t5), in_3, st_3, s(n8), false) -> ring(st_1, in_2, sndsplit(n8, t5), cons(cons(h5, fstsplit(n8, t5)), in_3), st_3, s(n8)) [3] if_3(st_1, in_2, cons(h5, t5), in_3, st_3, s(n8), false) -> ring(st_1, in_2, sndsplit(n8, t5), cons(nil, in_3), st_3, s(n8)) [2] if_3(st_1, in_2, st_2, in_3, st_3, 0, false) -> ring(st_1, in_2, nil, cons(nil, in_3), st_3, 0) [2] if_3(st_1, in_2, nil, in_3, st_3, s(n9), false) -> ring(st_1, in_2, nil, cons(nil, in_3), st_3, s(n9)) [2] if_3(st_1, in_2, cons(h6, t6), in_3, st_3, s(n10), false) -> ring(st_1, in_2, nil, cons(cons(h6, fstsplit(n10, t6)), in_3), st_3, s(n10)) [2] if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, nil, cons(nil, in_3), st_3, m) [1] if_2(st_1, cons(h7, t7), st_2, in_3, st_3, m, false) -> if_4(st_1, cons(h7, t7), st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, h7), st_2)))) [2] if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, nil), st_2)))) [1] if_4(st_1, cons(h8, t8), st_2, in_3, st_3, m, false) -> ring(st_1, t8, sndsplit(m, app(map_f(two, h8), st_2)), cons(fstsplit(m, app(map_f(two, h8), st_2)), in_3), st_3, m) [4] if_4(st_1, cons(h8, t8), st_2, in_3, st_3, m, false) -> ring(st_1, t8, sndsplit(m, app(map_f(two, h8), st_2)), cons(fstsplit(m, app(map_f(two, nil), st_2)), in_3), st_3, m) [3] if_4(st_1, cons(h8, t8), st_2, in_3, st_3, m, false) -> ring(st_1, t8, sndsplit(m, app(map_f(two, nil), st_2)), cons(fstsplit(m, app(map_f(two, h8), st_2)), in_3), st_3, m) [3] if_4(st_1, cons(h8, t8), st_2, in_3, st_3, m, false) -> ring(st_1, t8, sndsplit(m, app(map_f(two, nil), st_2)), cons(fstsplit(m, app(map_f(two, nil), st_2)), in_3), st_3, m) [2] if_4(st_1, cons(h9, t9), st_2, in_3, st_3, m, false) -> ring(st_1, nil, sndsplit(m, app(map_f(two, h9), st_2)), cons(fstsplit(m, app(map_f(two, h9), st_2)), in_3), st_3, m) [3] if_4(st_1, cons(h9, t9), st_2, in_3, st_3, m, false) -> ring(st_1, nil, sndsplit(m, app(map_f(two, h9), st_2)), cons(fstsplit(m, app(map_f(two, nil), st_2)), in_3), st_3, m) [2] if_4(st_1, cons(h10, t10), st_2, in_3, st_3, m, false) -> ring(st_1, nil, sndsplit(m, app(map_f(two, nil), st_2)), cons(fstsplit(m, app(map_f(two, h10), st_2)), in_3), st_3, m) [2] if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, nil, sndsplit(m, app(map_f(two, nil), st_2)), cons(fstsplit(m, app(map_f(two, nil), st_2)), in_3), st_3, m) [1] ring(st_1, cons(h11, t11), st_2, in_3, st_3, m) -> if_5(st_1, cons(h11, t11), st_2, in_3, st_3, m, empty(map_f(two, h11))) [2] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, nil))) [1] if_5(st_1, cons(h12, t12), st_2, in_3, st_3, m, true) -> ring(st_1, t12, st_2, in_3, st_3, m) [2] if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, nil, st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, nil, m) -> if_6(st_1, in_2, st_2, in_3, nil, m, leq(m, 0)) [2] ring(st_1, in_2, st_2, in_3, cons(h13, t13), m) -> if_6(st_1, in_2, st_2, in_3, cons(h13, t13), m, leq(m, s(length(t13)))) [2] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, 0)) [1] if_6(st_1, in_2, st_2, in_3, st_3, 0, true) -> if_7(st_1, in_2, st_2, in_3, st_3, 0, empty(nil)) [2] if_6(st_1, in_2, st_2, in_3, nil, s(n11), true) -> if_7(st_1, in_2, st_2, in_3, nil, s(n11), empty(nil)) [2] if_6(st_1, in_2, st_2, in_3, cons(h14, t14), s(n12), true) -> if_7(st_1, in_2, st_2, in_3, cons(h14, t14), s(n12), empty(cons(h14, fstsplit(n12, t14)))) [2] if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(nil)) [1] if_7(st_1, in_2, st_2, in_3, st_3, 0, false) -> ring(st_1, in_2, st_2, in_3, st_3, 0) [2] if_7(st_1, in_2, st_2, in_3, nil, s(n13), false) -> ring(st_1, in_2, st_2, in_3, nil, s(n13)) [2] if_7(st_1, in_2, st_2, in_3, cons(h15, t15), s(n14), false) -> ring(st_1, in_2, st_2, in_3, sndsplit(n14, t15), s(n14)) [2] if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, nil, m) [1] if_6(st_1, in_2, st_2, cons(h16, t16), st_3, m, false) -> if_8(st_1, in_2, st_2, cons(h16, t16), st_3, m, empty(fstsplit(m, app(map_f(three, h16), st_3)))) [2] if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, nil), st_3)))) [1] if_8(st_1, in_2, st_2, cons(h17, t17), st_3, m, false) -> ring(st_1, in_2, st_2, t17, sndsplit(m, app(map_f(three, h17), st_3)), m) [3] if_8(st_1, in_2, st_2, cons(h17, t17), st_3, m, false) -> ring(st_1, in_2, st_2, t17, sndsplit(m, app(map_f(three, nil), st_3)), m) [2] if_8(st_1, in_2, st_2, cons(h18, t18), st_3, m, false) -> ring(st_1, in_2, st_2, nil, sndsplit(m, app(map_f(three, h18), st_3)), m) [2] if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, nil, sndsplit(m, app(map_f(three, nil), st_3)), m) [1] ring(st_1, in_2, st_2, cons(h19, t19), st_3, m) -> if_9(st_1, in_2, st_2, cons(h19, t19), st_3, m, empty(map_f(three, h19))) [2] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, nil))) [1] if_9(st_1, in_2, st_2, cons(h20, t20), st_3, m, true) -> ring(st_1, in_2, st_2, t20, st_3, m) [2] if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, nil, st_3, m) [1] empty(v0) -> null_empty [0] fstsplit(v0, v1) -> nil [0] map_f(v0, v1) -> nil [0] head(v0) -> nil [0] length(v0) -> 0 [0] tail(v0) -> nil [0] app(v0, v1) -> nil [0] sndsplit(v0, v1) -> nil [0] The TRS has the following type information: fstsplit :: 0:s -> nil:cons:f -> nil:cons:f 0 :: 0:s nil :: nil:cons:f s :: 0:s -> 0:s cons :: nil:cons:f -> nil:cons:f -> nil:cons:f sndsplit :: 0:s -> nil:cons:f -> nil:cons:f empty :: nil:cons:f -> true:false:null_empty true :: true:false:null_empty false :: true:false:null_empty leq :: 0:s -> 0:s -> true:false:null_empty length :: nil:cons:f -> 0:s app :: nil:cons:f -> nil:cons:f -> nil:cons:f map_f :: two:three -> nil:cons:f -> nil:cons:f f :: two:three -> nil:cons:f -> nil:cons:f head :: nil:cons:f -> nil:cons:f tail :: nil:cons:f -> nil:cons:f ring :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_1 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_2 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_3 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_4 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 two :: two:three if_5 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_6 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_7 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 if_8 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 three :: two:three if_9 :: nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> nil:cons:f -> 0:s -> true:false:null_empty -> ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 null_empty :: true:false:null_empty const :: ring:if_1:if_2:if_3:if_4:if_5:if_6:if_7:if_8:if_9 Rewrite Strategy: INNERMOST ---------------------------------------- (47) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 nil => 0 true => 2 false => 1 two => 1 three => 0 null_empty => 0 const => 0 ---------------------------------------- (48) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> x :|: z' = x, x >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 1 }-> 1 + h + app(t, x) :|: z = 1 + h + t, z' = x, x >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 fstsplit(z, z') -{ 1 }-> 0 :|: z' = x, x >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: n >= 0, z = 1 + n, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(n, t) :|: z' = 1 + h + t, n >= 0, h >= 0, t >= 0, z = 1 + n head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, 1 + 0 + in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, 1 + 0 + in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(n2, t1), 1 + 0 + in_2, st_2, in_3, st_3, 1 + n2) :|: z' = in_2, st_3 >= 0, z3 = 1 + n2, z1 = in_3, n2 >= 0, t1 >= 0, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z = 1 + h1 + t1, h1 >= 0, z'' = st_2, z2 = st_3 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(n2, t1), 1 + (1 + h1 + fstsplit(n2, t1)) + in_2, st_2, in_3, st_3, 1 + n2) :|: z' = in_2, st_3 >= 0, z3 = 1 + n2, z1 = in_3, n2 >= 0, t1 >= 0, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z = 1 + h1 + t1, h1 >= 0, z'' = st_2, z2 = st_3 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 1 + n1) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z3 = 1 + n1, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, n1 >= 0, z = 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 1 + n1) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z3 = 1 + n1, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, n1 >= 0, z = 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 1 + n3) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 1 + n3, z2 = st_3, z1 = in_3, in_3 >= 0, z = 0, z4 = 1, in_2 >= 0, n3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(n4, t2)) + in_2, st_2, in_3, st_3, 1 + n4) :|: n4 >= 0, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, h2 >= 0, in_2 >= 0, t2 >= 0, z = 1 + h2 + t2, st_2 >= 0, z'' = st_2, z2 = st_3, z3 = 1 + n4 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(1, 0), st_2)))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(st_1, 1 + h7 + t7, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(1, h7), st_2)))) :|: z = st_1, st_3 >= 0, z' = 1 + h7 + t7, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, t7 >= 0, h7 >= 0, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(0)) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(st_1, in_2, st_2, in_3, st_3, 0, empty(0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(st_1, in_2, 0, in_3, st_3, 1 + n5, empty(0)) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, z2 = st_3, z3 = 1 + n5, z1 = in_3, z4 = 2, n5 >= 0, in_3 >= 0, st_1 >= 0, in_2 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(st_1, in_2, 1 + h4 + t4, in_3, st_3, 1 + n6, empty(1 + h4 + fstsplit(n6, t4))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, t4 >= 0, in_3 >= 0, in_2 >= 0, h4 >= 0, n6 >= 0, z2 = st_3, z3 = 1 + n6, st_1 >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, st_2, 1 + 0 + in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, 1 + 0 + in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, sndsplit(n8, t5), 1 + 0 + in_3, st_3, 1 + n8) :|: z = st_1, h5 >= 0, z' = in_2, st_3 >= 0, z1 = in_3, t5 >= 0, in_3 >= 0, z'' = 1 + h5 + t5, z4 = 1, in_2 >= 0, n8 >= 0, z2 = st_3, st_1 >= 0, z3 = 1 + n8 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, sndsplit(n8, t5), 1 + (1 + h5 + fstsplit(n8, t5)) + in_3, st_3, 1 + n8) :|: z = st_1, h5 >= 0, z' = in_2, st_3 >= 0, z1 = in_3, t5 >= 0, in_3 >= 0, z'' = 1 + h5 + t5, z4 = 1, in_2 >= 0, n8 >= 0, z2 = st_3, st_1 >= 0, z3 = 1 + n8 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 1 + n7) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, n7 >= 0, z2 = st_3, z1 = in_3, z3 = 1 + n7, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 1 + n7) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, n7 >= 0, z2 = st_3, z1 = in_3, z3 = 1 + n7, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 1 + n9) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, z2 = st_3, z1 = in_3, n9 >= 0, in_3 >= 0, z3 = 1 + n9, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + (1 + h6 + fstsplit(n10, t6)) + in_3, st_3, 1 + n10) :|: z = st_1, z' = in_2, st_3 >= 0, t6 >= 0, z1 = in_3, in_3 >= 0, n10 >= 0, z4 = 1, in_2 >= 0, h6 >= 0, z'' = 1 + h6 + t6, z3 = 1 + n10, z2 = st_3, st_1 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, h8), st_2)), 1 + fstsplit(m, app(map_f(1, h8), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, h8), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, h8), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, h9), st_2)), 1 + fstsplit(m, app(map_f(1, h9), st_2)) + in_3, st_3, m) :|: z = st_1, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, h9 >= 0, z'' = st_2, z2 = st_3, t9 >= 0, st_1 >= 0, z3 = m, z' = 1 + h9 + t9, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, h9), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, h9 >= 0, z'' = st_2, z2 = st_3, t9 >= 0, st_1 >= 0, z3 = m, z' = 1 + h9 + t9, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, h10), st_2)) + in_3, st_3, m) :|: z' = 1 + h10 + t10, z = st_1, h10 >= 0, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, t10 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, t12, st_2, in_3, st_3, m) :|: z' = 1 + h12 + t12, z = st_1, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, h12 >= 0, st_1 >= 0, t12 >= 0, z3 = m, m >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, 0, st_2, in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(0, 0), st_3)))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(st_1, in_2, st_2, 1 + h16 + t16, st_3, m, empty(fstsplit(m, app(map_f(0, h16), st_3)))) :|: z = st_1, z' = in_2, st_3 >= 0, h16 >= 0, z4 = 1, in_2 >= 0, z1 = 1 + h16 + t16, st_2 >= 0, t16 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(0)) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(st_1, in_2, st_2, in_3, st_3, 0, empty(0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(st_1, in_2, st_2, in_3, 0, 1 + n11, empty(0)) :|: st_2 >= 0, z = st_1, z' = in_2, z'' = st_2, z2 = 0, z3 = 1 + n11, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0, n11 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(st_1, in_2, st_2, in_3, 1 + h14 + t14, 1 + n12, empty(1 + h14 + fstsplit(n12, t14))) :|: z = st_1, z' = in_2, z2 = 1 + h14 + t14, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, n12 >= 0, st_2 >= 0, h14 >= 0, z'' = st_2, z3 = 1 + n12, st_1 >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, in_3, sndsplit(n14, t15), 1 + n14) :|: z = st_1, z' = in_2, z2 = 1 + h15 + t15, h15 >= 0, z1 = in_3, n14 >= 0, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, t15 >= 0, z3 = 1 + n14, st_1 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, in_3, 0, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, in_3, 0, 1 + n13) :|: st_2 >= 0, z = st_1, z' = in_2, z'' = st_2, z2 = 0, z1 = in_3, n13 >= 0, z3 = 1 + n13, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, st_2, t17, sndsplit(m, app(map_f(0, h17), st_3)), m) :|: t17 >= 0, z = st_1, z' = in_2, st_3 >= 0, h17 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, z1 = 1 + h17 + t17, st_1 >= 0, z3 = m, m >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, t17, sndsplit(m, app(map_f(0, 0), st_3)), m) :|: t17 >= 0, z = st_1, z' = in_2, st_3 >= 0, h17 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, z1 = 1 + h17 + t17, st_1 >= 0, z3 = m, m >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, 0, sndsplit(m, app(map_f(0, h18), st_3)), m) :|: h18 >= 0, z = st_1, z' = in_2, st_3 >= 0, z1 = 1 + h18 + t18, z4 = 1, in_2 >= 0, st_2 >= 0, t18 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, 0, sndsplit(m, app(map_f(0, 0), st_3)), m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, t20, st_3, m) :|: z1 = 1 + h20 + t20, z = st_1, t20 >= 0, z' = in_2, st_3 >= 0, z4 = 2, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, h20 >= 0, m >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, 0, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(n, m) :|: n >= 0, z' = 1 + m, z = 1 + n, m >= 0 leq(z, z') -{ 1 }-> 2 :|: z' = m, z = 0, m >= 0 leq(z, z') -{ 1 }-> 1 :|: n >= 0, z = 1 + n, z' = 0 map_f(z, z') -{ 2 }-> app(1 + pid + h, app(1 + pid + h', map_f(pid, t'))) :|: z = pid, t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), pid >= 0 map_f(z, z') -{ 2 }-> app(1 + pid + h, 0) :|: z = pid, h >= 0, z' = 1 + h + 0, pid >= 0 map_f(z, z') -{ 1 }-> app(1 + pid + h, 0) :|: z' = 1 + h + t, z = pid, h >= 0, t >= 0, pid >= 0 map_f(z, z') -{ 1 }-> 0 :|: z = pid, pid >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(0, 0))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(st_1, in_2, st_2, 1 + h19 + t19, st_3, m, empty(map_f(0, h19))) :|: z = st_1, z' = in_2, st_3 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, 0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(st_1, in_2, st_2, in_3, 0, m, leq(m, 0)) :|: st_2 >= 0, z = st_1, z' = in_2, z'' = st_2, z2 = 0, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(st_1, in_2, st_2, in_3, 1 + h13 + t13, m, leq(m, 1 + length(t13))) :|: z = st_1, z' = in_2, z1 = in_3, in_3 >= 0, z2 = 1 + h13 + t13, in_2 >= 0, st_2 >= 0, t13 >= 0, z'' = st_2, h13 >= 0, st_1 >= 0, z3 = m, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(1, 0))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(st_1, 1 + h11 + t11, st_2, in_3, st_3, m, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z = st_1, st_3 >= 0, z1 = in_3, in_3 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, t11 >= 0, st_1 >= 0, z3 = m, h11 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, 0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(st_1, in_2, 0, in_3, st_3, m, leq(m, 0)) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(st_1, in_2, 1 + h3 + t3, in_3, st_3, m, leq(m, 1 + length(t3))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, in_2 >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(st_1, in_2, st_2, in_3, st_3, 0, empty(0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, in_2 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, in_2, st_2, in_3, st_3, 1 + n', empty(0)) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z3 = 1 + n', z'' = st_2, n' >= 0, z2 = st_3, z1 = in_3, in_3 >= 0, z = 0, in_2 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', in_2, st_2, in_3, st_3, 1 + n'', empty(1 + h'' + fstsplit(n'', t''))) :|: h'' >= 0, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, t'' >= 0, z3 = 1 + n'', z = 1 + h'' + t'', z2 = st_3, n'' >= 0 sndsplit(z, z') -{ 1 }-> x :|: z' = x, x >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(n, t) :|: z' = 1 + h + t, n >= 0, h >= 0, t >= 0, z = 1 + n sndsplit(z, z') -{ 1 }-> 0 :|: n >= 0, z = 1 + n, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (49) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 empty(z) -{ 1 }-> 2 :|: z = 0 ---------------------------------------- (50) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> x :|: z' = x, x >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 1 }-> 1 + h + app(t, x) :|: z = 1 + h + t, z' = x, x >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 fstsplit(z, z') -{ 1 }-> 0 :|: z' = x, x >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: n >= 0, z = 1 + n, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(n, t) :|: z' = 1 + h + t, n >= 0, h >= 0, t >= 0, z = 1 + n head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, 1 + 0 + in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, 1 + 0 + in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(n2, t1), 1 + 0 + in_2, st_2, in_3, st_3, 1 + n2) :|: z' = in_2, st_3 >= 0, z3 = 1 + n2, z1 = in_3, n2 >= 0, t1 >= 0, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z = 1 + h1 + t1, h1 >= 0, z'' = st_2, z2 = st_3 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(n2, t1), 1 + (1 + h1 + fstsplit(n2, t1)) + in_2, st_2, in_3, st_3, 1 + n2) :|: z' = in_2, st_3 >= 0, z3 = 1 + n2, z1 = in_3, n2 >= 0, t1 >= 0, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z = 1 + h1 + t1, h1 >= 0, z'' = st_2, z2 = st_3 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 1 + n1) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z3 = 1 + n1, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, n1 >= 0, z = 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 1 + n1) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z3 = 1 + n1, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, n1 >= 0, z = 0, z4 = 1, in_2 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + in_2, st_2, in_3, st_3, 1 + n3) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 1 + n3, z2 = st_3, z1 = in_3, in_3 >= 0, z = 0, z4 = 1, in_2 >= 0, n3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(n4, t2)) + in_2, st_2, in_3, st_3, 1 + n4) :|: n4 >= 0, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, h2 >= 0, in_2 >= 0, t2 >= 0, z = 1 + h2 + t2, st_2 >= 0, z'' = st_2, z2 = st_3, z3 = 1 + n4 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(1, 0), st_2)))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(st_1, 1 + h7 + t7, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(1, h7), st_2)))) :|: z = st_1, st_3 >= 0, z' = 1 + h7 + t7, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, t7 >= 0, h7 >= 0, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(st_1, in_2, st_2, in_3, st_3, m, 2) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(st_1, in_2, st_2, in_3, st_3, m, 0) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(st_1, in_2, st_2, in_3, st_3, 0, 2) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(st_1, in_2, st_2, in_3, st_3, 0, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(st_1, in_2, 0, in_3, st_3, 1 + n5, 2) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, z2 = st_3, z3 = 1 + n5, z1 = in_3, z4 = 2, n5 >= 0, in_3 >= 0, st_1 >= 0, in_2 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(st_1, in_2, 0, in_3, st_3, 1 + n5, 0) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, z2 = st_3, z3 = 1 + n5, z1 = in_3, z4 = 2, n5 >= 0, in_3 >= 0, st_1 >= 0, in_2 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(st_1, in_2, 1 + h4 + t4, in_3, st_3, 1 + n6, empty(1 + h4 + fstsplit(n6, t4))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, t4 >= 0, in_3 >= 0, in_2 >= 0, h4 >= 0, n6 >= 0, z2 = st_3, z3 = 1 + n6, st_1 >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, st_2, 1 + 0 + in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, 1 + 0 + in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, sndsplit(n8, t5), 1 + 0 + in_3, st_3, 1 + n8) :|: z = st_1, h5 >= 0, z' = in_2, st_3 >= 0, z1 = in_3, t5 >= 0, in_3 >= 0, z'' = 1 + h5 + t5, z4 = 1, in_2 >= 0, n8 >= 0, z2 = st_3, st_1 >= 0, z3 = 1 + n8 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, sndsplit(n8, t5), 1 + (1 + h5 + fstsplit(n8, t5)) + in_3, st_3, 1 + n8) :|: z = st_1, h5 >= 0, z' = in_2, st_3 >= 0, z1 = in_3, t5 >= 0, in_3 >= 0, z'' = 1 + h5 + t5, z4 = 1, in_2 >= 0, n8 >= 0, z2 = st_3, st_1 >= 0, z3 = 1 + n8 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 1 + n7) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, n7 >= 0, z2 = st_3, z1 = in_3, z3 = 1 + n7, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 1 + n7) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, n7 >= 0, z2 = st_3, z1 = in_3, z3 = 1 + n7, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + 0 + in_3, st_3, 1 + n9) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, z2 = st_3, z1 = in_3, n9 >= 0, in_3 >= 0, z3 = 1 + n9, st_1 >= 0, z4 = 1, in_2 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, 0, 1 + (1 + h6 + fstsplit(n10, t6)) + in_3, st_3, 1 + n10) :|: z = st_1, z' = in_2, st_3 >= 0, t6 >= 0, z1 = in_3, in_3 >= 0, n10 >= 0, z4 = 1, in_2 >= 0, h6 >= 0, z'' = 1 + h6 + t6, z3 = 1 + n10, z2 = st_3, st_1 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, h8), st_2)), 1 + fstsplit(m, app(map_f(1, h8), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, h8), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, h8), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, t8, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, z' = 1 + h8 + t8, st_3 >= 0, h8 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, z'' = st_2, z2 = st_3, t8 >= 0, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, h9), st_2)), 1 + fstsplit(m, app(map_f(1, h9), st_2)) + in_3, st_3, m) :|: z = st_1, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, h9 >= 0, z'' = st_2, z2 = st_3, t9 >= 0, st_1 >= 0, z3 = m, z' = 1 + h9 + t9, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, h9), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, h9 >= 0, z'' = st_2, z2 = st_3, t9 >= 0, st_1 >= 0, z3 = m, z' = 1 + h9 + t9, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, h10), st_2)) + in_3, st_3, m) :|: z' = 1 + h10 + t10, z = st_1, h10 >= 0, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, st_2 >= 0, t10 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, 0, sndsplit(m, app(map_f(1, 0), st_2)), 1 + fstsplit(m, app(map_f(1, 0), st_2)) + in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, t12, st_2, in_3, st_3, m) :|: z' = 1 + h12 + t12, z = st_1, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, h12 >= 0, st_1 >= 0, t12 >= 0, z3 = m, m >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, 0, st_2, in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(0, 0), st_3)))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(st_1, in_2, st_2, 1 + h16 + t16, st_3, m, empty(fstsplit(m, app(map_f(0, h16), st_3)))) :|: z = st_1, z' = in_2, st_3 >= 0, h16 >= 0, z4 = 1, in_2 >= 0, z1 = 1 + h16 + t16, st_2 >= 0, t16 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(st_1, in_2, st_2, in_3, st_3, m, 2) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(st_1, in_2, st_2, in_3, st_3, m, 0) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(st_1, in_2, st_2, in_3, st_3, 0, 2) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(st_1, in_2, st_2, in_3, st_3, 0, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(st_1, in_2, st_2, in_3, 0, 1 + n11, 2) :|: st_2 >= 0, z = st_1, z' = in_2, z'' = st_2, z2 = 0, z3 = 1 + n11, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0, n11 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(st_1, in_2, st_2, in_3, 0, 1 + n11, 0) :|: st_2 >= 0, z = st_1, z' = in_2, z'' = st_2, z2 = 0, z3 = 1 + n11, z1 = in_3, z4 = 2, in_3 >= 0, st_1 >= 0, in_2 >= 0, n11 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(st_1, in_2, st_2, in_3, 1 + h14 + t14, 1 + n12, empty(1 + h14 + fstsplit(n12, t14))) :|: z = st_1, z' = in_2, z2 = 1 + h14 + t14, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, n12 >= 0, st_2 >= 0, h14 >= 0, z'' = st_2, z3 = 1 + n12, st_1 >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, in_3, st_3, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, in_3, sndsplit(n14, t15), 1 + n14) :|: z = st_1, z' = in_2, z2 = 1 + h15 + t15, h15 >= 0, z1 = in_3, n14 >= 0, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, t15 >= 0, z3 = 1 + n14, st_1 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, in_3, 0, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, in_3, 0, 1 + n13) :|: st_2 >= 0, z = st_1, z' = in_2, z'' = st_2, z2 = 0, z1 = in_3, n13 >= 0, z3 = 1 + n13, in_3 >= 0, st_1 >= 0, z4 = 1, in_2 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(st_1, in_2, st_2, t17, sndsplit(m, app(map_f(0, h17), st_3)), m) :|: t17 >= 0, z = st_1, z' = in_2, st_3 >= 0, h17 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, z1 = 1 + h17 + t17, st_1 >= 0, z3 = m, m >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, t17, sndsplit(m, app(map_f(0, 0), st_3)), m) :|: t17 >= 0, z = st_1, z' = in_2, st_3 >= 0, h17 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, z1 = 1 + h17 + t17, st_1 >= 0, z3 = m, m >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, 0, sndsplit(m, app(map_f(0, h18), st_3)), m) :|: h18 >= 0, z = st_1, z' = in_2, st_3 >= 0, z1 = 1 + h18 + t18, z4 = 1, in_2 >= 0, st_2 >= 0, t18 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, 0, sndsplit(m, app(map_f(0, 0), st_3)), m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(st_1, in_2, st_2, t20, st_3, m) :|: z1 = 1 + h20 + t20, z = st_1, t20 >= 0, z' = in_2, st_3 >= 0, z4 = 2, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, h20 >= 0, m >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, 0, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(n, m) :|: n >= 0, z' = 1 + m, z = 1 + n, m >= 0 leq(z, z') -{ 1 }-> 2 :|: z' = m, z = 0, m >= 0 leq(z, z') -{ 1 }-> 1 :|: n >= 0, z = 1 + n, z' = 0 map_f(z, z') -{ 2 }-> app(1 + pid + h, app(1 + pid + h', map_f(pid, t'))) :|: z = pid, t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), pid >= 0 map_f(z, z') -{ 2 }-> app(1 + pid + h, 0) :|: z = pid, h >= 0, z' = 1 + h + 0, pid >= 0 map_f(z, z') -{ 1 }-> app(1 + pid + h, 0) :|: z' = 1 + h + t, z = pid, h >= 0, t >= 0, pid >= 0 map_f(z, z') -{ 1 }-> 0 :|: z = pid, pid >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(0, 0))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(st_1, in_2, st_2, 1 + h19 + t19, st_3, m, empty(map_f(0, h19))) :|: z = st_1, z' = in_2, st_3 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, 0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(st_1, in_2, st_2, in_3, 0, m, leq(m, 0)) :|: st_2 >= 0, z = st_1, z' = in_2, z'' = st_2, z2 = 0, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(st_1, in_2, st_2, in_3, 1 + h13 + t13, m, leq(m, 1 + length(t13))) :|: z = st_1, z' = in_2, z1 = in_3, in_3 >= 0, z2 = 1 + h13 + t13, in_2 >= 0, st_2 >= 0, t13 >= 0, z'' = st_2, h13 >= 0, st_1 >= 0, z3 = m, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(1, 0))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(st_1, 1 + h11 + t11, st_2, in_3, st_3, m, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z = st_1, st_3 >= 0, z1 = in_3, in_3 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, t11 >= 0, st_1 >= 0, z3 = m, h11 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, 0)) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(st_1, in_2, 0, in_3, st_3, m, leq(m, 0)) :|: z'' = 0, z = st_1, z' = in_2, st_3 >= 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(st_1, in_2, 1 + h3 + t3, in_3, st_3, m, leq(m, 1 + length(t3))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, in_2 >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(st_1, in_2, st_2, in_3, st_3, m, 2) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(st_1, in_2, st_2, in_3, st_3, m, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(st_1, in_2, st_2, in_3, st_3, 0, 2) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, in_2 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(st_1, in_2, st_2, in_3, st_3, 0, 0) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z3 = 0, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, in_2 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, in_2, st_2, in_3, st_3, 1 + n', 2) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z3 = 1 + n', z'' = st_2, n' >= 0, z2 = st_3, z1 = in_3, in_3 >= 0, z = 0, in_2 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, in_2, st_2, in_3, st_3, 1 + n', 0) :|: st_2 >= 0, z' = in_2, st_3 >= 0, z3 = 1 + n', z'' = st_2, n' >= 0, z2 = st_3, z1 = in_3, in_3 >= 0, z = 0, in_2 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', in_2, st_2, in_3, st_3, 1 + n'', empty(1 + h'' + fstsplit(n'', t''))) :|: h'' >= 0, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, t'' >= 0, z3 = 1 + n'', z = 1 + h'' + t'', z2 = st_3, n'' >= 0 sndsplit(z, z') -{ 1 }-> x :|: z' = x, x >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(n, t) :|: z' = 1 + h + t, n >= 0, h >= 0, t >= 0, z = 1 + n sndsplit(z, z') -{ 1 }-> 0 :|: n >= 0, z = 1 + n, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (51) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (52) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 ---------------------------------------- (53) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { empty } { leq } { length } { tail } { fstsplit } { sndsplit } { head } { app } { map_f } { if_5, if_4, if_2, if_3, if_8, if_1, if_6, ring, if_9, if_7 } ---------------------------------------- (54) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {empty}, {leq}, {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} ---------------------------------------- (55) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (56) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {empty}, {leq}, {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} ---------------------------------------- (57) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: empty after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (58) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {empty}, {leq}, {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: ?, size: O(1) [2] ---------------------------------------- (59) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: empty after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (60) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {leq}, {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] ---------------------------------------- (61) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (62) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {leq}, {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] ---------------------------------------- (63) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: leq after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (64) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {leq}, {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: ?, size: O(1) [2] ---------------------------------------- (65) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: leq after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' ---------------------------------------- (66) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(z - 1, z' - 1) :|: z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 0, z3, leq(z3, 0)) :|: z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(z, z', z'', z1, z2, z3, leq(z3, 0)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 0, z1, z2, z3, leq(z3, 0)) :|: z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] ---------------------------------------- (67) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (68) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] ---------------------------------------- (69) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: length after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (70) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {length}, {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: ?, size: O(n^1) [z] ---------------------------------------- (71) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: length after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (72) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, leq(z3, 1 + length(t13))) :|: z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, leq(z3, 1 + length(t3))) :|: z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] ---------------------------------------- (73) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (74) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] ---------------------------------------- (75) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: tail after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (76) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {tail}, {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: ?, size: O(n^1) [z] ---------------------------------------- (77) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: tail after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (78) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (79) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (80) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (81) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: fstsplit after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (82) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {fstsplit}, {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (83) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: fstsplit after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' ---------------------------------------- (84) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + fstsplit(z3 - 1, t1)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + (1 + h2 + fstsplit(z3 - 1, t2)) + z', z'', z1, z2, 1 + (z3 - 1)) :|: z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), empty(1 + h4 + fstsplit(z3 - 1, t4))) :|: z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + fstsplit(z3 - 1, t5)) + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + (1 + h6 + fstsplit(z3 - 1, t6)) + z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), empty(1 + h14 + fstsplit(z3 - 1, t14))) :|: z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), empty(1 + h'' + fstsplit(z3 - 1, t''))) :|: h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] ---------------------------------------- (85) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (86) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 5 + t1 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 5 + t5 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] ---------------------------------------- (87) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: sndsplit after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (88) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 5 + t1 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 5 + t5 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {sndsplit}, {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (89) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using KoAT for: sndsplit after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 2 + z' ---------------------------------------- (90) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(sndsplit(z3 - 1, t1), 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 5 + t1 }-> ring(sndsplit(z3 - 1, t1), 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 5 + t5 }-> ring(z, z', sndsplit(z3 - 1, t5), 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, sndsplit(z3 - 1, t15), 1 + (z3 - 1)) :|: z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(z - 1, t) :|: z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] ---------------------------------------- (91) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (92) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] ---------------------------------------- (93) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: head after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (94) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {head}, {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: ?, size: O(n^1) [z] ---------------------------------------- (95) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: head after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 1 ---------------------------------------- (96) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (97) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (98) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] ---------------------------------------- (99) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: app after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (100) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {app}, {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] app: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (101) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: app after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: 1 + z ---------------------------------------- (102) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 1 }-> 1 + h + app(t, z') :|: z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> app(1 + z + h, 0) :|: z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] app: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] ---------------------------------------- (103) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (104) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 2 + t }-> 1 + h + s25 :|: s25 >= 0, s25 <= t + z', z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 3 + z + z' }-> s26 :|: s26 >= 0, s26 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 3 + h + z }-> s27 :|: s27 >= 0, s27 <= 1 + z + h + 0, z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] app: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] ---------------------------------------- (105) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: map_f after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 3*z + 2*z*z' + z' + z'^2 ---------------------------------------- (106) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 2 + t }-> 1 + h + s25 :|: s25 >= 0, s25 <= t + z', z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 3 + z + z' }-> s26 :|: s26 >= 0, s26 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 3 + h + z }-> s27 :|: s27 >= 0, s27 <= 1 + z + h + 0, z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {map_f}, {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] app: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] map_f: runtime: ?, size: O(n^2) [3*z + 2*z*z' + z' + z'^2] ---------------------------------------- (107) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: map_f after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 12 + 10*z + 3*z*z' + 2*z^2 + 7*z' + z'^2 ---------------------------------------- (108) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 2 + t }-> 1 + h + s25 :|: s25 >= 0, s25 <= t + z', z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, 0), z'')))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(1, h7), z'')))) :|: z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 4 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, h8), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h8), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t8, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, h9), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, h9), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, h10), z'')) + z1, z2, z3) :|: z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, sndsplit(z3, app(map_f(1, 0), z'')), 1 + fstsplit(z3, app(map_f(1, 0), z'')) + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(z, z', z'', z1, z2, z3, empty(fstsplit(z3, app(map_f(0, 0), z2)))) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, empty(fstsplit(z3, app(map_f(0, h16), z2)))) :|: z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, h17), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t17, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, h18), z2)), z3) :|: h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, sndsplit(z3, app(map_f(0, 0), z2)), z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 3 + z + z' }-> s26 :|: s26 >= 0, s26 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 3 + h + z }-> s27 :|: s27 >= 0, s27 <= 1 + z + h + 0, z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 2 }-> app(1 + z + h, app(1 + z + h', map_f(z, t'))) :|: t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(z, z', z'', z1, z2, z3, empty(map_f(0, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, empty(map_f(0, h19))) :|: z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(z, z', z'', z1, z2, z3, empty(map_f(1, 0))) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, empty(map_f(1, h11))) :|: z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] app: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] map_f: runtime: O(n^2) [12 + 10*z + 3*z*z' + 2*z^2 + 7*z' + z'^2], size: O(n^2) [3*z + 2*z*z' + z' + z'^2] ---------------------------------------- (109) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (110) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 2 + t }-> 1 + h + s25 :|: s25 >= 0, s25 <= t + z', z = 1 + h + t, z' >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 1 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 3 + t }-> 1 + h + s8 :|: s8 >= 0, s8 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: z >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t1 }-> ring(s20, 1 + (1 + h1 + s9) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s20 >= 0, s20 <= t1, s9 >= 0, s9 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t1 }-> ring(s21, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: s21 >= 0, s21 <= t1, z2 >= 0, z3 - 1 >= 0, t1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z = 1 + h1 + t1, h1 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(0, 1 + 0 + z', z'', z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(0, 1 + 0 + z', z'', z1, z2, 1 + (z3 - 1)) :|: z'' >= 0, z2 >= 0, z1 >= 0, z3 - 1 >= 0, z = 0, z4 = 1, z' >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 4 + t2 }-> ring(0, 1 + (1 + h2 + s10) + z', z'', z1, z2, 1 + (z3 - 1)) :|: s10 >= 0, s10 <= t2, z3 - 1 >= 0, z2 >= 0, z1 >= 0, z4 = 1, h2 >= 0, z' >= 0, t2 >= 0, z = 1 + h2 + t2, z'' >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 29 + s95 + s96 }-> if_4(z, z', z'', z1, z2, z3, s98) :|: s95 >= 0, s95 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s96 >= 0, s96 <= s95 + z'', s97 >= 0, s97 <= s96, s98 >= 0, s98 <= 2, z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 30 + 10*h7 + h7^2 + s91 + s92 }-> if_4(z, 1 + h7 + t7, z'', z1, z2, z3, s94) :|: s91 >= 0, s91 <= 2 * (h7 * 1) + 3 * 1 + h7 * h7 + h7, s92 >= 0, s92 <= s91 + z'', s93 >= 0, s93 <= s92, s94 >= 0, s94 <= 2, z2 >= 0, z' = 1 + h7 + t7, z1 >= 0, z4 = 1, z'' >= 0, t7 >= 0, h7 >= 0, z >= 0, z3 >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 2) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_3(z, z', 0, z1, z2, 1 + (z3 - 1), 0) :|: z'' = 0, z2 >= 0, z4 = 2, z3 - 1 >= 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_2(z, z', z'', z1, z2, z3, z4) -{ 5 + t4 }-> if_3(z, z', 1 + h4 + t4, z1, z2, 1 + (z3 - 1), s16) :|: s15 >= 0, s15 <= t4, s16 >= 0, s16 <= 2, z2 >= 0, z4 = 2, t4 >= 0, z1 >= 0, z' >= 0, h4 >= 0, z3 - 1 >= 0, z >= 0, z'' = 1 + h4 + t4 if_3(z, z', z'', z1, z2, z3, z4) -{ 7 + 2*t5 }-> ring(z, z', s22, 1 + (1 + h5 + s11) + z1, z2, 1 + (z3 - 1)) :|: s22 >= 0, s22 <= t5, s11 >= 0, s11 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t5 }-> ring(z, z', s23, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: s23 >= 0, s23 <= t5, h5 >= 0, z2 >= 0, t5 >= 0, z1 >= 0, z'' = 1 + h5 + t5, z4 = 1, z' >= 0, z3 - 1 >= 0, z >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', 0, 1 + 0 + z1, z2, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 3 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', 0, 1 + 0 + z1, z2, 1 + (z3 - 1)) :|: z'' = 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 4 + t6 }-> ring(z, z', 0, 1 + (1 + h6 + s12) + z1, z2, 1 + (z3 - 1)) :|: s12 >= 0, s12 <= t6, z2 >= 0, t6 >= 0, z1 >= 0, z3 - 1 >= 0, z4 = 1, z' >= 0, h6 >= 0, z'' = 1 + h6 + t6, z >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 58 + 20*h8 + 2*h8^2 + s31 + s32 + s34 + s35 }-> ring(z, t8, s33, 1 + s36 + z1, z2, z3) :|: s31 >= 0, s31 <= 2 * (h8 * 1) + 3 * 1 + h8 * h8 + h8, s32 >= 0, s32 <= s31 + z'', s33 >= 0, s33 <= s32, s34 >= 0, s34 <= 2 * (h8 * 1) + 3 * 1 + h8 * h8 + h8, s35 >= 0, s35 <= s34 + z'', s36 >= 0, s36 <= s35, z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 57 + 10*h8 + h8^2 + s37 + s38 + s40 + s41 }-> ring(z, t8, s39, 1 + s42 + z1, z2, z3) :|: s37 >= 0, s37 <= 2 * (h8 * 1) + 3 * 1 + h8 * h8 + h8, s38 >= 0, s38 <= s37 + z'', s39 >= 0, s39 <= s38, s40 >= 0, s40 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s41 >= 0, s41 <= s40 + z'', s42 >= 0, s42 <= s41, z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 57 + 10*h8 + h8^2 + s43 + s44 + s46 + s47 }-> ring(z, t8, s45, 1 + s48 + z1, z2, z3) :|: s43 >= 0, s43 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s44 >= 0, s44 <= s43 + z'', s45 >= 0, s45 <= s44, s46 >= 0, s46 <= 2 * (h8 * 1) + 3 * 1 + h8 * h8 + h8, s47 >= 0, s47 <= s46 + z'', s48 >= 0, s48 <= s47, z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 56 + s49 + s50 + s52 + s53 }-> ring(z, t8, s51, 1 + s54 + z1, z2, z3) :|: s49 >= 0, s49 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s50 >= 0, s50 <= s49 + z'', s51 >= 0, s51 <= s50, s52 >= 0, s52 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s53 >= 0, s53 <= s52 + z'', s54 >= 0, s54 <= s53, z' = 1 + h8 + t8, z2 >= 0, h8 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t8 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 57 + 20*h9 + 2*h9^2 + s55 + s56 + s58 + s59 }-> ring(z, 0, s57, 1 + s60 + z1, z2, z3) :|: s55 >= 0, s55 <= 2 * (h9 * 1) + 3 * 1 + h9 * h9 + h9, s56 >= 0, s56 <= s55 + z'', s57 >= 0, s57 <= s56, s58 >= 0, s58 <= 2 * (h9 * 1) + 3 * 1 + h9 * h9 + h9, s59 >= 0, s59 <= s58 + z'', s60 >= 0, s60 <= s59, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 56 + 10*h9 + h9^2 + s61 + s62 + s64 + s65 }-> ring(z, 0, s63, 1 + s66 + z1, z2, z3) :|: s61 >= 0, s61 <= 2 * (h9 * 1) + 3 * 1 + h9 * h9 + h9, s62 >= 0, s62 <= s61 + z'', s63 >= 0, s63 <= s62, s64 >= 0, s64 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s65 >= 0, s65 <= s64 + z'', s66 >= 0, s66 <= s65, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, h9 >= 0, t9 >= 0, z >= 0, z' = 1 + h9 + t9, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 56 + 10*h10 + h10^2 + s67 + s68 + s70 + s71 }-> ring(z, 0, s69, 1 + s72 + z1, z2, z3) :|: s67 >= 0, s67 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s68 >= 0, s68 <= s67 + z'', s69 >= 0, s69 <= s68, s70 >= 0, s70 <= 2 * (h10 * 1) + 3 * 1 + h10 * h10 + h10, s71 >= 0, s71 <= s70 + z'', s72 >= 0, s72 <= s71, z' = 1 + h10 + t10, h10 >= 0, z2 >= 0, z1 >= 0, z4 = 1, z'' >= 0, t10 >= 0, z >= 0, z3 >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 55 + s73 + s74 + s76 + s77 }-> ring(z, 0, s75, 1 + s78 + z1, z2, z3) :|: s73 >= 0, s73 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s74 >= 0, s74 <= s73 + z'', s75 >= 0, s75 <= s74, s76 >= 0, s76 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s77 >= 0, s77 <= s76 + z'', s78 >= 0, s78 <= s77, z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, t12, z'', z1, z2, z3) :|: z' = 1 + h12 + t12, z2 >= 0, z4 = 2, z1 >= 0, z'' >= 0, h12 >= 0, z >= 0, t12 >= 0, z3 >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, 0, z'', z1, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 17 + s107 + s108 }-> if_8(z, z', z'', z1, z2, z3, s110) :|: s107 >= 0, s107 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s108 >= 0, s108 <= s107 + z2, s109 >= 0, s109 <= s108, s110 >= 0, s110 <= 2, z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 18 + 7*h16 + h16^2 + s103 + s104 }-> if_8(z, z', z'', 1 + h16 + t16, z2, z3, s106) :|: s103 >= 0, s103 <= 2 * (h16 * 0) + 3 * 0 + h16 * h16 + h16, s104 >= 0, s104 <= s103 + z2, s105 >= 0, s105 <= s104, s106 >= 0, s106 <= 2, z2 >= 0, h16 >= 0, z4 = 1, z' >= 0, z1 = 1 + h16 + t16, z'' >= 0, t16 >= 0, z >= 0, z3 >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, z3, 2) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(z, z', z'', z1, z2, z3, 0) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 3 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, 0 = 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 2 }-> if_7(z, z', z'', z1, 0, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 = 0, z4 = 2, z1 >= 0, z >= 0, z' >= 0, z3 - 1 >= 0, v0 >= 0, 0 = v0 if_6(z, z', z'', z1, z2, z3, z4) -{ 5 + t14 }-> if_7(z, z', z'', z1, 1 + h14 + t14, 1 + (z3 - 1), s18) :|: s17 >= 0, s17 <= t14, s18 >= 0, s18 <= 2, z2 = 1 + h14 + t14, z4 = 2, z1 >= 0, z' >= 0, z3 - 1 >= 0, z'' >= 0, h14 >= 0, z >= 0, t14 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 4 + t15 }-> ring(z, z', z'', z1, s24, 1 + (z3 - 1)) :|: s24 >= 0, s24 <= t15, z2 = 1 + h15 + t15, h15 >= 0, z3 - 1 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, t15 >= 0, z >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, z2, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', z1, 0, z3) :|: z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', z1, 0, 1 + (z3 - 1)) :|: z'' >= 0, z2 = 0, z3 - 1 >= 0, z1 >= 0, z >= 0, z4 = 1, z' >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 18 + 7*h17 + h17^2 + s79 + s80 }-> ring(z, z', z'', t17, s81, z3) :|: s79 >= 0, s79 <= 2 * (h17 * 0) + 3 * 0 + h17 * h17 + h17, s80 >= 0, s80 <= s79 + z2, s81 >= 0, s81 <= s80, t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 17 + s82 + s83 }-> ring(z, z', z'', t17, s84, z3) :|: s82 >= 0, s82 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s83 >= 0, s83 <= s82 + z2, s84 >= 0, s84 <= s83, t17 >= 0, z2 >= 0, h17 >= 0, z4 = 1, z' >= 0, z'' >= 0, z1 = 1 + h17 + t17, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 17 + 7*h18 + h18^2 + s85 + s86 }-> ring(z, z', z'', 0, s87, z3) :|: s85 >= 0, s85 <= 2 * (h18 * 0) + 3 * 0 + h18 * h18 + h18, s86 >= 0, s86 <= s85 + z2, s87 >= 0, s87 <= s86, h18 >= 0, z2 >= 0, z1 = 1 + h18 + t18, z4 = 1, z' >= 0, z'' >= 0, t18 >= 0, z >= 0, z3 >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 16 + s88 + s89 }-> ring(z, z', z'', 0, s90, z3) :|: s88 >= 0, s88 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s89 >= 0, s89 <= s88 + z2, s90 >= 0, s90 <= s89, z2 >= 0, z1 >= 0, z4 = 1, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 2 }-> ring(z, z', z'', t20, z2, z3) :|: z1 = 1 + h20 + t20, t20 >= 0, z2 >= 0, z4 = 2, z' >= 0, z'' >= 0, z >= 0, h20 >= 0, z3 >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(z, z', z'', 0, z2, z3) :|: z2 >= 0, z4 = 2, z1 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 2 + t }-> 1 + s3 :|: s3 >= 0, s3 <= t, z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 2 + z' }-> s :|: s >= 0, s <= 2, z - 1 >= 0, z' - 1 >= 0 leq(z, z') -{ 1 }-> 2 :|: z = 0, z' >= 0 leq(z, z') -{ 1 }-> 1 :|: z - 1 >= 0, z' = 0 map_f(z, z') -{ 3 + z + z' }-> s26 :|: s26 >= 0, s26 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 3 + h + z }-> s27 :|: s27 >= 0, s27 <= 1 + z + h + 0, z' = 1 + h + t, h >= 0, t >= 0, z >= 0 map_f(z, z') -{ 18 + h + h' + 7*t' + 3*t'*z + t'^2 + 12*z + 2*z^2 }-> s30 :|: s28 >= 0, s28 <= 2 * (t' * z) + 3 * z + t' * t' + t', s29 >= 0, s29 <= 1 + z + h' + s28, s30 >= 0, s30 <= 1 + z + h + s29, t' >= 0, h' >= 0, h >= 0, z' = 1 + h + (1 + h' + t'), z >= 0 map_f(z, z') -{ 1 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 ring(z, z', z'', z1, z2, z3) -{ 14 }-> if_9(z, z', z'', z1, z2, z3, s114) :|: s113 >= 0, s113 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s114 >= 0, s114 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 15 + 7*h19 + h19^2 }-> if_9(z, z', z'', 1 + h19 + t19, z2, z3, s112) :|: s111 >= 0, s111 <= 2 * (h19 * 0) + 3 * 0 + h19 * h19 + h19, s112 >= 0, s112 <= 2, z2 >= 0, t19 >= 0, z1 = 1 + h19 + t19, h19 >= 0, z' >= 0, z'' >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_6(z, z', z'', z1, z2, z3, s2) :|: s2 >= 0, s2 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_6(z, z', z'', z1, 0, z3, s1) :|: s1 >= 0, s1 <= 2, z'' >= 0, z2 = 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s6 + t13 }-> if_6(z, z', z'', z1, 1 + h13 + t13, z3, s7) :|: s6 >= 0, s6 <= t13, s7 >= 0, s7 <= 2, z1 >= 0, z2 = 1 + h13 + t13, z' >= 0, z'' >= 0, t13 >= 0, h13 >= 0, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 26 }-> if_5(z, z', z'', z1, z2, z3, s102) :|: s101 >= 0, s101 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s102 >= 0, s102 <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 27 + 10*h11 + h11^2 }-> if_5(z, 1 + h11 + t11, z'', z1, z2, z3, s100) :|: s99 >= 0, s99 <= 2 * (h11 * 1) + 3 * 1 + h11 * h11 + h11, s100 >= 0, s100 <= 2, z' = 1 + h11 + t11, z2 >= 0, z1 >= 0, z'' >= 0, t11 >= 0, z >= 0, h11 >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_2(z, z', z'', z1, z2, z3, s'') :|: s'' >= 0, s'' <= 2, z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 4 }-> if_2(z, z', 0, z1, z2, z3, s') :|: s' >= 0, s' <= 2, z'' = 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 6 + s4 + t3 }-> if_2(z, z', 1 + h3 + t3, z1, z2, z3, s5) :|: s4 >= 0, s4 <= t3, s5 >= 0, s5 <= 2, z2 >= 0, z1 >= 0, z' >= 0, t3 >= 0, h3 >= 0, z'' = 1 + h3 + t3, z >= 0, z3 >= 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, z3, 2) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(z, z', z'', z1, z2, z3, 0) :|: z'' >= 0, z2 >= 0, z1 >= 0, z >= 0, z' >= 0, z3 >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(z, z', z'', z1, z2, 0, 2) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(z, z', z'', z1, z2, 0, 0) :|: z'' >= 0, z2 >= 0, z3 = 0, z1 >= 0, z >= 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 3 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 2) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, 0 = 0 ring(z, z', z'', z1, z2, z3) -{ 2 }-> if_1(0, z', z'', z1, z2, 1 + (z3 - 1), 0) :|: z'' >= 0, z2 >= 0, z3 - 1 >= 0, z1 >= 0, z = 0, z' >= 0, v0 >= 0, 0 = v0 ring(z, z', z'', z1, z2, z3) -{ 5 + t'' }-> if_1(1 + h'' + t'', z', z'', z1, z2, 1 + (z3 - 1), s14) :|: s13 >= 0, s13 <= t'', s14 >= 0, s14 <= 2, h'' >= 0, z2 >= 0, z1 >= 0, z' >= 0, z'' >= 0, t'' >= 0, z = 1 + h'' + t'', z3 - 1 >= 0 sndsplit(z, z') -{ 3 + t }-> s19 :|: s19 >= 0, s19 <= t, z' = 1 + h + t, z - 1 >= 0, h >= 0, t >= 0 sndsplit(z, z') -{ 1 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 1 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {if_5,if_4,if_2,if_3,if_8,if_1,if_6,ring,if_9,if_7} Previous analysis results are: empty: runtime: O(1) [1], size: O(1) [2] leq: runtime: O(n^1) [2 + z'], size: O(1) [2] length: runtime: O(n^1) [1 + z], size: O(n^1) [z] tail: runtime: O(1) [1], size: O(n^1) [z] fstsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] sndsplit: runtime: O(n^1) [2 + z'], size: O(n^1) [z'] head: runtime: O(1) [1], size: O(n^1) [z] app: runtime: O(n^1) [1 + z], size: O(n^1) [z + z'] map_f: runtime: O(n^2) [12 + 10*z + 3*z*z' + 2*z^2 + 7*z' + z'^2], size: O(n^2) [3*z + 2*z*z' + z' + z'^2] ---------------------------------------- (111) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: fstsplit(v0, v1) -> null_fstsplit [0] sndsplit(v0, v1) -> null_sndsplit [0] empty(v0) -> null_empty [0] length(v0) -> null_length [0] app(v0, v1) -> null_app [0] map_f(v0, v1) -> null_map_f [0] head(v0) -> null_head [0] tail(v0) -> null_tail [0] if_1(v0, v1, v2, v3, v4, v5, v6) -> null_if_1 [0] if_3(v0, v1, v2, v3, v4, v5, v6) -> null_if_3 [0] if_4(v0, v1, v2, v3, v4, v5, v6) -> null_if_4 [0] if_5(v0, v1, v2, v3, v4, v5, v6) -> null_if_5 [0] if_7(v0, v1, v2, v3, v4, v5, v6) -> null_if_7 [0] if_8(v0, v1, v2, v3, v4, v5, v6) -> null_if_8 [0] if_9(v0, v1, v2, v3, v4, v5, v6) -> null_if_9 [0] leq(v0, v1) -> null_leq [0] if_2(v0, v1, v2, v3, v4, v5, v6) -> null_if_2 [0] if_6(v0, v1, v2, v3, v4, v5, v6) -> null_if_6 [0] And the following fresh constants: null_fstsplit, null_sndsplit, null_empty, null_length, null_app, null_map_f, null_head, null_tail, null_if_1, null_if_3, null_if_4, null_if_5, null_if_7, null_if_8, null_if_9, null_leq, null_if_2, null_if_6 ---------------------------------------- (112) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: fstsplit(0, x) -> nil [1] fstsplit(s(n), nil) -> nil [1] fstsplit(s(n), cons(h, t)) -> cons(h, fstsplit(n, t)) [1] sndsplit(0, x) -> x [1] sndsplit(s(n), nil) -> nil [1] sndsplit(s(n), cons(h, t)) -> sndsplit(n, t) [1] empty(nil) -> true [1] empty(cons(h, t)) -> false [1] leq(0, m) -> true [1] leq(s(n), 0) -> false [1] leq(s(n), s(m)) -> leq(n, m) [1] length(nil) -> 0 [1] length(cons(h, t)) -> s(length(t)) [1] app(nil, x) -> x [1] app(cons(h, t), x) -> cons(h, app(t, x)) [1] map_f(pid, nil) -> nil [1] map_f(pid, cons(h, t)) -> app(f(pid, h), map_f(pid, t)) [1] head(cons(h, t)) -> h [1] tail(cons(h, t)) -> t [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) [1] if_1(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, true) -> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) [1] if_3(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) [1] if_2(st_1, in_2, st_2, in_3, st_3, m, false) -> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) [1] if_4(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) [1] if_5(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, tail(in_2), st_2, in_3, st_3, m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, true) -> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) [1] if_7(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) [1] if_6(st_1, in_2, st_2, in_3, st_3, m, false) -> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) [1] if_8(st_1, in_2, st_2, in_3, st_3, m, false) -> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) [1] ring(st_1, in_2, st_2, in_3, st_3, m) -> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) [1] if_9(st_1, in_2, st_2, in_3, st_3, m, true) -> ring(st_1, in_2, st_2, tail(in_3), st_3, m) [1] fstsplit(v0, v1) -> null_fstsplit [0] sndsplit(v0, v1) -> null_sndsplit [0] empty(v0) -> null_empty [0] length(v0) -> null_length [0] app(v0, v1) -> null_app [0] map_f(v0, v1) -> null_map_f [0] head(v0) -> null_head [0] tail(v0) -> null_tail [0] if_1(v0, v1, v2, v3, v4, v5, v6) -> null_if_1 [0] if_3(v0, v1, v2, v3, v4, v5, v6) -> null_if_3 [0] if_4(v0, v1, v2, v3, v4, v5, v6) -> null_if_4 [0] if_5(v0, v1, v2, v3, v4, v5, v6) -> null_if_5 [0] if_7(v0, v1, v2, v3, v4, v5, v6) -> null_if_7 [0] if_8(v0, v1, v2, v3, v4, v5, v6) -> null_if_8 [0] if_9(v0, v1, v2, v3, v4, v5, v6) -> null_if_9 [0] leq(v0, v1) -> null_leq [0] if_2(v0, v1, v2, v3, v4, v5, v6) -> null_if_2 [0] if_6(v0, v1, v2, v3, v4, v5, v6) -> null_if_6 [0] The TRS has the following type information: fstsplit :: 0:s:null_length -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail 0 :: 0:s:null_length nil :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail s :: 0:s:null_length -> 0:s:null_length cons :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail sndsplit :: 0:s:null_length -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail empty :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> true:false:null_empty:null_leq true :: true:false:null_empty:null_leq false :: true:false:null_empty:null_leq leq :: 0:s:null_length -> 0:s:null_length -> true:false:null_empty:null_leq length :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length app :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail map_f :: two:three -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail f :: two:three -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail head :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail tail :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail ring :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 if_1 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 if_2 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 if_3 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 if_4 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 two :: two:three if_5 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 if_6 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 if_7 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 if_8 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 three :: two:three if_9 :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail -> 0:s:null_length -> true:false:null_empty:null_leq -> null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_fstsplit :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail null_sndsplit :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail null_empty :: true:false:null_empty:null_leq null_length :: 0:s:null_length null_app :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail null_map_f :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail null_head :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail null_tail :: nil:cons:f:null_fstsplit:null_sndsplit:null_app:null_map_f:null_head:null_tail null_if_1 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_if_3 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_if_4 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_if_5 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_if_7 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_if_8 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_if_9 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_leq :: true:false:null_empty:null_leq null_if_2 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 null_if_6 :: null_if_1:null_if_3:null_if_4:null_if_5:null_if_7:null_if_8:null_if_9:null_if_2:null_if_6 Rewrite Strategy: INNERMOST ---------------------------------------- (113) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: 0 => 0 nil => 0 true => 2 false => 1 two => 1 three => 0 null_fstsplit => 0 null_sndsplit => 0 null_empty => 0 null_length => 0 null_app => 0 null_map_f => 0 null_head => 0 null_tail => 0 null_if_1 => 0 null_if_3 => 0 null_if_4 => 0 null_if_5 => 0 null_if_7 => 0 null_if_8 => 0 null_if_9 => 0 null_leq => 0 null_if_2 => 0 null_if_6 => 0 ---------------------------------------- (114) Obligation: Complexity RNTS consisting of the following rules: app(z, z') -{ 1 }-> x :|: z' = x, x >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 1 }-> 1 + h + app(t, x) :|: z = 1 + h + t, z' = x, x >= 0, h >= 0, t >= 0 empty(z) -{ 1 }-> 2 :|: z = 0 empty(z) -{ 1 }-> 1 :|: z = 1 + h + t, h >= 0, t >= 0 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 fstsplit(z, z') -{ 1 }-> 0 :|: z' = x, x >= 0, z = 0 fstsplit(z, z') -{ 1 }-> 0 :|: n >= 0, z = 1 + n, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 fstsplit(z, z') -{ 1 }-> 1 + h + fstsplit(n, t) :|: z' = 1 + h + t, n >= 0, h >= 0, t >= 0, z = 1 + n head(z) -{ 1 }-> h :|: z = 1 + h + t, h >= 0, t >= 0 head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 if_1(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(sndsplit(m, st_1), 1 + fstsplit(m, st_1) + in_2, st_2, in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_1(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(1, head(in_2)), st_2)))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_2(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_3(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, sndsplit(m, st_2), 1 + fstsplit(m, st_2) + in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_3(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_4(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, tail(in_2), sndsplit(m, app(map_f(1, head(in_2)), st_2)), 1 + fstsplit(m, app(map_f(1, head(in_2)), st_2)) + in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_4(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_5(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, tail(in_2), st_2, in_3, st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_5(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(0, head(in_3)), st_3)))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 1 }-> if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_6(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_7(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_7(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_8(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(0, head(in_3)), st_3)), m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, in_3 >= 0, z4 = 1, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_8(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 if_9(z, z', z'', z1, z2, z3, z4) -{ 1 }-> ring(st_1, in_2, st_2, tail(in_3), st_3, m) :|: z = st_1, z' = in_2, st_3 >= 0, z1 = in_3, z4 = 2, in_3 >= 0, in_2 >= 0, st_2 >= 0, z'' = st_2, z2 = st_3, st_1 >= 0, z3 = m, m >= 0 if_9(z, z', z'', z1, z2, z3, z4) -{ 0 }-> 0 :|: z1 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, z2 = v4, v2 >= 0, v3 >= 0, z3 = v5, v4 >= 0, z4 = v6 length(z) -{ 1 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 1 }-> 1 + length(t) :|: z = 1 + h + t, h >= 0, t >= 0 leq(z, z') -{ 1 }-> leq(n, m) :|: n >= 0, z' = 1 + m, z = 1 + n, m >= 0 leq(z, z') -{ 1 }-> 2 :|: z' = m, z = 0, m >= 0 leq(z, z') -{ 1 }-> 1 :|: n >= 0, z = 1 + n, z' = 0 leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 map_f(z, z') -{ 1 }-> app(1 + pid + h, map_f(pid, t)) :|: z' = 1 + h + t, z = pid, h >= 0, t >= 0, pid >= 0 map_f(z, z') -{ 1 }-> 0 :|: z = pid, pid >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(0, head(in_3)))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(1, head(in_2)))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 ring(z, z', z'', z1, z2, z3) -{ 1 }-> if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) :|: st_2 >= 0, z = st_1, z' = in_2, st_3 >= 0, z'' = st_2, z2 = st_3, z1 = in_3, in_3 >= 0, st_1 >= 0, z3 = m, in_2 >= 0, m >= 0 sndsplit(z, z') -{ 1 }-> x :|: z' = x, x >= 0, z = 0 sndsplit(z, z') -{ 1 }-> sndsplit(n, t) :|: z' = 1 + h + t, n >= 0, h >= 0, t >= 0, z = 1 + n sndsplit(z, z') -{ 1 }-> 0 :|: n >= 0, z = 1 + n, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 tail(z) -{ 1 }-> t :|: z = 1 + h + t, h >= 0, t >= 0 tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (115) CpxTrsToCdtProof (UPPER BOUND(ID)) Converted Cpx (relative) TRS with rewrite strategy PARALLEL_INNERMOST to CDT ---------------------------------------- (116) Obligation: Complexity Dependency Tuples Problem Rules: fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Tuples: FSTSPLIT(0, z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0, z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0, z0) -> c8 LEQ(s(z0), 0) -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) S tuples: FSTSPLIT(0, z0) -> c FSTSPLIT(s(z0), nil) -> c1 FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(0, z0) -> c3 SNDSPLIT(s(z0), nil) -> c4 SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) EMPTY(nil) -> c6 EMPTY(cons(z0, z1)) -> c7 LEQ(0, z0) -> c8 LEQ(s(z0), 0) -> c9 LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(nil) -> c11 LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(nil, z0) -> c13 APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, nil) -> c15 MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) HEAD(cons(z0, z1)) -> c17 TAIL(cons(z0, z1)) -> c18 RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) K tuples:none Defined Rule Symbols: fstsplit_2, sndsplit_2, empty_1, leq_2, length_1, app_2, map_f_2, head_1, tail_1, ring_6, if_1_7, if_2_7, if_3_7, if_4_7, if_5_7, if_6_7, if_7_7, if_8_7, if_9_7 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, EMPTY_1, LEQ_2, LENGTH_1, APP_2, MAP_F_2, HEAD_1, TAIL_1, RING_6, IF_1_7, IF_2_7, IF_3_7, IF_4_7, IF_5_7, IF_6_7, IF_7_7, IF_8_7, IF_9_7 Compound Symbols: c, c1, c2_1, c3, c4, c5_1, c6, c7, c8, c9, c10_1, c11, c12_1, c13, c14_1, c15, c16_2, c17, c18, c19_3, c20_3, c21_4, c22_3, c23_4, c24_2, c25_2, c26_3, c27_6, c28_2, c29_2, c30_2, c31_5, c32_5, c33_2, c34_3, c35_6, c36_2, c37_2, c38_5, c39_2 ---------------------------------------- (117) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 13 trailing nodes: APP(nil, z0) -> c13 EMPTY(cons(z0, z1)) -> c7 HEAD(cons(z0, z1)) -> c17 SNDSPLIT(s(z0), nil) -> c4 LEQ(s(z0), 0) -> c9 SNDSPLIT(0, z0) -> c3 LEQ(0, z0) -> c8 EMPTY(nil) -> c6 FSTSPLIT(0, z0) -> c LENGTH(nil) -> c11 MAP_F(z0, nil) -> c15 FSTSPLIT(s(z0), nil) -> c1 TAIL(cons(z0, z1)) -> c18 ---------------------------------------- (118) Obligation: Complexity Dependency Tuples Problem Rules: fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) MAP_F(z0, cons(z1, z2)) -> c16(APP(f(z0, z1), map_f(z0, z2)), MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), EMPTY(fstsplit(z5, z0)), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), EMPTY(map_f(two, head(z1))), MAP_F(two, head(z1)), HEAD(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), EMPTY(map_f(three, head(z3))), MAP_F(three, head(z3)), HEAD(z3)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), EMPTY(fstsplit(z5, z2)), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), EMPTY(fstsplit(z5, app(map_f(two, head(z1)), z2))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), TAIL(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1)), HEAD(z1)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5), TAIL(z1)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), EMPTY(fstsplit(z5, z4)), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), EMPTY(fstsplit(z5, app(map_f(three, head(z3)), z4))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), TAIL(z3)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3)), HEAD(z3)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5), TAIL(z3)) K tuples:none Defined Rule Symbols: fstsplit_2, sndsplit_2, empty_1, leq_2, length_1, app_2, map_f_2, head_1, tail_1, ring_6, if_1_7, if_2_7, if_3_7, if_4_7, if_5_7, if_6_7, if_7_7, if_8_7, if_9_7 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, MAP_F_2, RING_6, IF_1_7, IF_2_7, IF_3_7, IF_4_7, IF_5_7, IF_6_7, IF_7_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c16_2, c19_3, c20_3, c21_4, c22_3, c23_4, c24_2, c25_2, c26_3, c27_6, c28_2, c29_2, c30_2, c31_5, c32_5, c33_2, c34_3, c35_6, c36_2, c37_2, c38_5, c39_2 ---------------------------------------- (119) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 19 trailing tuple parts ---------------------------------------- (120) Obligation: Complexity Dependency Tuples Problem Rules: fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) empty(nil) -> true empty(cons(z0, z1)) -> false leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 tail(cons(z0, z1)) -> z1 ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) K tuples:none Defined Rule Symbols: fstsplit_2, sndsplit_2, empty_1, leq_2, length_1, app_2, map_f_2, head_1, tail_1, ring_6, if_1_7, if_2_7, if_3_7, if_4_7, if_5_7, if_6_7, if_7_7, if_8_7, if_9_7 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, RING_6, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c20_3, c22_3, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c19_2, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1 ---------------------------------------- (121) CdtUsableRulesProof (BOTH BOUNDS(ID, ID)) The following rules are not usable and were removed: ring(z0, z1, z2, z3, z4, z5) -> if_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) ring(z0, z1, z2, z3, z4, z5) -> if_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) ring(z0, z1, z2, z3, z4, z5) -> if_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))) ring(z0, z1, z2, z3, z4, z5) -> if_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) ring(z0, z1, z2, z3, z4, z5) -> if_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))) if_1(z0, z1, z2, z3, z4, z5, false) -> ring(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5) if_2(z0, z1, z2, z3, z4, z5, true) -> if_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) if_2(z0, z1, z2, z3, z4, z5, false) -> if_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))) if_3(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5) if_4(z0, z1, z2, z3, z4, z5, false) -> ring(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5) if_5(z0, z1, z2, z3, z4, z5, true) -> ring(z0, tail(z1), z2, z3, z4, z5) if_6(z0, z1, z2, z3, z4, z5, true) -> if_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) if_6(z0, z1, z2, z3, z4, z5, false) -> if_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))) if_7(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, z3, sndsplit(z5, z4), z5) if_8(z0, z1, z2, z3, z4, z5, false) -> ring(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5) if_9(z0, z1, z2, z3, z4, z5, true) -> ring(z0, z1, z2, tail(z3), z4, z5) ---------------------------------------- (122) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) K tuples:none Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, RING_6, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c20_3, c22_3, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c19_2, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1 ---------------------------------------- (123) CdtToCpxRelTrsProof (BOTH BOUNDS(ID, ID)) Converted S to standard rules, and D \ S as well as R to relative rules. ---------------------------------------- (124) Obligation: The Runtime Complexity (innermost) of the given CpxRelTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) The (relative) TRS S consists of the following rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Rewrite Strategy: INNERMOST ---------------------------------------- (125) RelTrsToTrsProof (UPPER BOUND(ID)) transformed relative TRS to TRS ---------------------------------------- (126) Obligation: The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 S is empty. Rewrite Strategy: INNERMOST ---------------------------------------- (127) RelTrsToWeightedTrsProof (BOTH BOUNDS(ID, ID)) Transformed relative TRS to weighted TRS ---------------------------------------- (128) Obligation: The Runtime Complexity (innermost) of the given CpxWeightedTrs could be proven to be BOUNDS(1, INF). The TRS R consists of the following rules: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) [1] SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) [1] LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) [1] LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) [1] APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) [1] IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) [1] MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) [1] RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) [1] RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) [1] IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) [1] IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) [1] IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) [1] IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) [1] leq(0, z0) -> true [0] leq(s(z0), 0) -> false [0] leq(s(z0), s(z1)) -> leq(z0, z1) [0] length(nil) -> 0 [0] length(cons(z0, z1)) -> s(length(z1)) [0] sndsplit(0, z0) -> z0 [0] sndsplit(s(z0), nil) -> nil [0] sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) [0] fstsplit(0, z0) -> nil [0] fstsplit(s(z0), nil) -> nil [0] fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) [0] empty(nil) -> true [0] empty(cons(z0, z1)) -> false [0] map_f(z0, nil) -> nil [0] map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) [0] head(cons(z0, z1)) -> z0 [0] app(nil, z0) -> z0 [0] app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) [0] tail(cons(z0, z1)) -> z1 [0] Rewrite Strategy: INNERMOST ---------------------------------------- (129) TypeInferenceProof (BOTH BOUNDS(ID, ID)) Infered types. ---------------------------------------- (130) Obligation: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) [1] SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) [1] LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) [1] LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) [1] APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) [1] IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) [1] MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) [1] RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) [1] RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) [1] IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) [1] IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) [1] IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) [1] IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) [1] leq(0, z0) -> true [0] leq(s(z0), 0) -> false [0] leq(s(z0), s(z1)) -> leq(z0, z1) [0] length(nil) -> 0 [0] length(cons(z0, z1)) -> s(length(z1)) [0] sndsplit(0, z0) -> z0 [0] sndsplit(s(z0), nil) -> nil [0] sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) [0] fstsplit(0, z0) -> nil [0] fstsplit(s(z0), nil) -> nil [0] fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) [0] empty(nil) -> true [0] empty(cons(z0, z1)) -> false [0] map_f(z0, nil) -> nil [0] map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) [0] head(cons(z0, z1)) -> z0 [0] app(nil, z0) -> z0 [0] app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) [0] tail(cons(z0, z1)) -> z1 [0] The TRS has the following type information: FSTSPLIT :: s:0 -> cons:nil:f -> c2 s :: s:0 -> s:0 cons :: cons:nil:f -> cons:nil:f -> cons:nil:f c2 :: c2 -> c2 SNDSPLIT :: s:0 -> cons:nil:f -> c5 c5 :: c5 -> c5 LEQ :: s:0 -> s:0 -> c10 c10 :: c10 -> c10 LENGTH :: cons:nil:f -> c12 c12 :: c12 -> c12 APP :: cons:nil:f -> cons:nil:f -> c14 c14 :: c14 -> c14 RING :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> c20:c22:c19:c21:c23 c20 :: c26:c27 -> c10 -> c12 -> c20:c22:c19:c21:c23 IF_2 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c26:c27 leq :: s:0 -> s:0 -> false:true length :: cons:nil:f -> s:0 c22 :: c34:c35 -> c10 -> c12 -> c20:c22:c19:c21:c23 IF_6 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c34:c35 IF_1 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c24:c25 false :: false:true c24 :: c20:c22:c19:c21:c23 -> c5 -> c24:c25 sndsplit :: s:0 -> cons:nil:f -> cons:nil:f fstsplit :: s:0 -> cons:nil:f -> cons:nil:f c25 :: c20:c22:c19:c21:c23 -> c2 -> c24:c25 IF_3 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c28:c29 c28 :: c20:c22:c19:c21:c23 -> c5 -> c28:c29 c29 :: c20:c22:c19:c21:c23 -> c2 -> c28:c29 IF_7 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c36 c36 :: c20:c22:c19:c21:c23 -> c5 -> c36 MAP_F :: two:three -> cons:nil:f -> c16 c16 :: c16 -> c16 c19 :: c24:c25 -> c2 -> c20:c22:c19:c21:c23 empty :: cons:nil:f -> false:true c21 :: c33 -> c16 -> c20:c22:c19:c21:c23 IF_5 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c33 map_f :: two:three -> cons:nil:f -> cons:nil:f two :: two:three head :: cons:nil:f -> cons:nil:f c23 :: c39 -> c16 -> c20:c22:c19:c21:c23 IF_9 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c39 three :: two:three true :: false:true c26 :: c28:c29 -> c2 -> c26:c27 c27 :: c30:c31:c32 -> c2 -> c14 -> c16 -> c26:c27 IF_4 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c30:c31:c32 app :: cons:nil:f -> cons:nil:f -> cons:nil:f c30 :: c20:c22:c19:c21:c23 -> c30:c31:c32 tail :: cons:nil:f -> cons:nil:f c31 :: c20:c22:c19:c21:c23 -> c5 -> c14 -> c16 -> c30:c31:c32 c32 :: c20:c22:c19:c21:c23 -> c2 -> c14 -> c16 -> c30:c31:c32 c33 :: c20:c22:c19:c21:c23 -> c33 c34 :: c36 -> c2 -> c34:c35 c35 :: c37:c38 -> c2 -> c14 -> c16 -> c34:c35 IF_8 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true -> c37:c38 c37 :: c20:c22:c19:c21:c23 -> c37:c38 c38 :: c20:c22:c19:c21:c23 -> c5 -> c14 -> c16 -> c37:c38 c39 :: c20:c22:c19:c21:c23 -> c39 0 :: s:0 nil :: cons:nil:f f :: two:three -> cons:nil:f -> cons:nil:f Rewrite Strategy: INNERMOST ---------------------------------------- (131) CompletionProof (UPPER BOUND(ID)) The transformation into a RNTS is sound, since: (a) The obligation is a constructor system where every type has a constant constructor, (b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols: FSTSPLIT_2 SNDSPLIT_2 LEQ_2 LENGTH_1 APP_2 RING_6 IF_1_7 IF_3_7 IF_7_7 MAP_F_2 IF_2_7 IF_4_7 IF_5_7 IF_6_7 IF_8_7 IF_9_7 (c) The following functions are completely defined: leq_2 length_1 sndsplit_2 fstsplit_2 empty_1 map_f_2 head_1 app_2 tail_1 Due to the following rules being added: leq(v0, v1) -> null_leq [0] length(v0) -> 0 [0] sndsplit(v0, v1) -> nil [0] fstsplit(v0, v1) -> nil [0] empty(v0) -> null_empty [0] map_f(v0, v1) -> nil [0] head(v0) -> nil [0] app(v0, v1) -> nil [0] tail(v0) -> nil [0] And the following fresh constants: null_leq, null_empty, const, const1, const2, const3, const4, const5, const6, const7, const8, const9, const10, const11, const12, const13, const14, const15 ---------------------------------------- (132) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) [1] SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) [1] LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) [1] LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) [1] APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) [1] IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) [1] MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) [1] RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) [1] RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) [1] IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) [1] IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) [1] IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) [1] IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) [1] leq(0, z0) -> true [0] leq(s(z0), 0) -> false [0] leq(s(z0), s(z1)) -> leq(z0, z1) [0] length(nil) -> 0 [0] length(cons(z0, z1)) -> s(length(z1)) [0] sndsplit(0, z0) -> z0 [0] sndsplit(s(z0), nil) -> nil [0] sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) [0] fstsplit(0, z0) -> nil [0] fstsplit(s(z0), nil) -> nil [0] fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) [0] empty(nil) -> true [0] empty(cons(z0, z1)) -> false [0] map_f(z0, nil) -> nil [0] map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) [0] head(cons(z0, z1)) -> z0 [0] app(nil, z0) -> z0 [0] app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) [0] tail(cons(z0, z1)) -> z1 [0] leq(v0, v1) -> null_leq [0] length(v0) -> 0 [0] sndsplit(v0, v1) -> nil [0] fstsplit(v0, v1) -> nil [0] empty(v0) -> null_empty [0] map_f(v0, v1) -> nil [0] head(v0) -> nil [0] app(v0, v1) -> nil [0] tail(v0) -> nil [0] The TRS has the following type information: FSTSPLIT :: s:0 -> cons:nil:f -> c2 s :: s:0 -> s:0 cons :: cons:nil:f -> cons:nil:f -> cons:nil:f c2 :: c2 -> c2 SNDSPLIT :: s:0 -> cons:nil:f -> c5 c5 :: c5 -> c5 LEQ :: s:0 -> s:0 -> c10 c10 :: c10 -> c10 LENGTH :: cons:nil:f -> c12 c12 :: c12 -> c12 APP :: cons:nil:f -> cons:nil:f -> c14 c14 :: c14 -> c14 RING :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> c20:c22:c19:c21:c23 c20 :: c26:c27 -> c10 -> c12 -> c20:c22:c19:c21:c23 IF_2 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c26:c27 leq :: s:0 -> s:0 -> false:true:null_leq:null_empty length :: cons:nil:f -> s:0 c22 :: c34:c35 -> c10 -> c12 -> c20:c22:c19:c21:c23 IF_6 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c34:c35 IF_1 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c24:c25 false :: false:true:null_leq:null_empty c24 :: c20:c22:c19:c21:c23 -> c5 -> c24:c25 sndsplit :: s:0 -> cons:nil:f -> cons:nil:f fstsplit :: s:0 -> cons:nil:f -> cons:nil:f c25 :: c20:c22:c19:c21:c23 -> c2 -> c24:c25 IF_3 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c28:c29 c28 :: c20:c22:c19:c21:c23 -> c5 -> c28:c29 c29 :: c20:c22:c19:c21:c23 -> c2 -> c28:c29 IF_7 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c36 c36 :: c20:c22:c19:c21:c23 -> c5 -> c36 MAP_F :: two:three -> cons:nil:f -> c16 c16 :: c16 -> c16 c19 :: c24:c25 -> c2 -> c20:c22:c19:c21:c23 empty :: cons:nil:f -> false:true:null_leq:null_empty c21 :: c33 -> c16 -> c20:c22:c19:c21:c23 IF_5 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c33 map_f :: two:three -> cons:nil:f -> cons:nil:f two :: two:three head :: cons:nil:f -> cons:nil:f c23 :: c39 -> c16 -> c20:c22:c19:c21:c23 IF_9 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c39 three :: two:three true :: false:true:null_leq:null_empty c26 :: c28:c29 -> c2 -> c26:c27 c27 :: c30:c31:c32 -> c2 -> c14 -> c16 -> c26:c27 IF_4 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c30:c31:c32 app :: cons:nil:f -> cons:nil:f -> cons:nil:f c30 :: c20:c22:c19:c21:c23 -> c30:c31:c32 tail :: cons:nil:f -> cons:nil:f c31 :: c20:c22:c19:c21:c23 -> c5 -> c14 -> c16 -> c30:c31:c32 c32 :: c20:c22:c19:c21:c23 -> c2 -> c14 -> c16 -> c30:c31:c32 c33 :: c20:c22:c19:c21:c23 -> c33 c34 :: c36 -> c2 -> c34:c35 c35 :: c37:c38 -> c2 -> c14 -> c16 -> c34:c35 IF_8 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c37:c38 c37 :: c20:c22:c19:c21:c23 -> c37:c38 c38 :: c20:c22:c19:c21:c23 -> c5 -> c14 -> c16 -> c37:c38 c39 :: c20:c22:c19:c21:c23 -> c39 0 :: s:0 nil :: cons:nil:f f :: two:three -> cons:nil:f -> cons:nil:f null_leq :: false:true:null_leq:null_empty null_empty :: false:true:null_leq:null_empty const :: c2 const1 :: c5 const2 :: c10 const3 :: c12 const4 :: c14 const5 :: c20:c22:c19:c21:c23 const6 :: c26:c27 const7 :: c34:c35 const8 :: c24:c25 const9 :: c28:c29 const10 :: c36 const11 :: c16 const12 :: c33 const13 :: c39 const14 :: c30:c31:c32 const15 :: c37:c38 Rewrite Strategy: INNERMOST ---------------------------------------- (133) NarrowingProof (BOTH BOUNDS(ID, ID)) Narrowed the inner basic terms of all right-hand sides by a single narrowing step. ---------------------------------------- (134) Obligation: Runtime Complexity Weighted TRS where critical functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) [1] SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) [1] LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) [1] LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) [1] APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) [1] RING(z0, z1, nil, z3, z4, z5) -> c20(IF_2(z0, z1, nil, z3, z4, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(nil)) [1] RING(z0, z1, nil, z3, z4, z5) -> c20(IF_2(z0, z1, nil, z3, z4, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(nil)) [1] RING(z0, z1, cons(z0', z1'), z3, z4, z5) -> c20(IF_2(z0, z1, cons(z0', z1'), z3, z4, z5, leq(z5, s(length(z1')))), LEQ(z5, s(length(z1'))), LENGTH(cons(z0', z1'))) [1] RING(z0, z1, cons(z0', z1'), z3, z4, z5) -> c20(IF_2(z0, z1, cons(z0', z1'), z3, z4, z5, leq(z5, s(length(z1')))), LEQ(z5, 0), LENGTH(cons(z0', z1'))) [1] RING(z0, z1, nil, z3, z4, z5) -> c20(IF_2(z0, z1, nil, z3, z4, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(nil)) [1] RING(z0, z1, cons(z0'', z1''), z3, z4, z5) -> c20(IF_2(z0, z1, cons(z0'', z1''), z3, z4, z5, leq(z5, 0)), LEQ(z5, s(length(z1''))), LENGTH(cons(z0'', z1''))) [1] RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(z2)) [1] RING(z0, z1, z2, z3, nil, z5) -> c22(IF_6(z0, z1, z2, z3, nil, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(nil)) [1] RING(z0, z1, z2, z3, nil, z5) -> c22(IF_6(z0, z1, z2, z3, nil, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(nil)) [1] RING(z0, z1, z2, z3, cons(z01, z11), z5) -> c22(IF_6(z0, z1, z2, z3, cons(z01, z11), z5, leq(z5, s(length(z11)))), LEQ(z5, s(length(z11))), LENGTH(cons(z01, z11))) [1] RING(z0, z1, z2, z3, cons(z01, z11), z5) -> c22(IF_6(z0, z1, z2, z3, cons(z01, z11), z5, leq(z5, s(length(z11)))), LEQ(z5, 0), LENGTH(cons(z01, z11))) [1] RING(z0, z1, z2, z3, nil, z5) -> c22(IF_6(z0, z1, z2, z3, nil, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(nil)) [1] RING(z0, z1, z2, z3, cons(z02, z12), z5) -> c22(IF_6(z0, z1, z2, z3, cons(z02, z12), z5, leq(z5, 0)), LEQ(z5, s(length(z12))), LENGTH(cons(z02, z12))) [1] RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, 0)), LEQ(z5, 0), LENGTH(z4)) [1] IF_1(z0, z1, z2, z3, z4, 0, false) -> c24(RING(z0, cons(nil, z1), z2, z3, z4, 0), SNDSPLIT(0, z0)) [1] IF_1(z0, z1, z2, z3, z4, 0, false) -> c24(RING(z0, cons(nil, z1), z2, z3, z4, 0), SNDSPLIT(0, z0)) [1] IF_1(nil, z1, z2, z3, z4, s(z03), false) -> c24(RING(nil, cons(nil, z1), z2, z3, z4, s(z03)), SNDSPLIT(s(z03), nil)) [1] IF_1(nil, z1, z2, z3, z4, s(z03), false) -> c24(RING(nil, cons(nil, z1), z2, z3, z4, s(z03)), SNDSPLIT(s(z03), nil)) [1] IF_1(cons(z13, z2'), z1, z2, z3, z4, s(z04), false) -> c24(RING(sndsplit(z04, z2'), cons(cons(z13, fstsplit(z04, z2')), z1), z2, z3, z4, s(z04)), SNDSPLIT(s(z04), cons(z13, z2'))) [1] IF_1(cons(z13, z2'), z1, z2, z3, z4, s(z04), false) -> c24(RING(sndsplit(z04, z2'), cons(nil, z1), z2, z3, z4, s(z04)), SNDSPLIT(s(z04), cons(z13, z2'))) [1] IF_1(z0, z1, z2, z3, z4, 0, false) -> c24(RING(nil, cons(nil, z1), z2, z3, z4, 0), SNDSPLIT(0, z0)) [1] IF_1(nil, z1, z2, z3, z4, s(z05), false) -> c24(RING(nil, cons(nil, z1), z2, z3, z4, s(z05)), SNDSPLIT(s(z05), nil)) [1] IF_1(cons(z14, z2''), z1, z2, z3, z4, s(z06), false) -> c24(RING(nil, cons(cons(z14, fstsplit(z06, z2'')), z1), z2, z3, z4, s(z06)), SNDSPLIT(s(z06), cons(z14, z2''))) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(nil, cons(nil, z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) [1] IF_1(z0, z1, z2, z3, z4, 0, false) -> c25(RING(z0, cons(nil, z1), z2, z3, z4, 0), FSTSPLIT(0, z0)) [1] IF_1(z0, z1, z2, z3, z4, 0, false) -> c25(RING(z0, cons(nil, z1), z2, z3, z4, 0), FSTSPLIT(0, z0)) [1] IF_1(nil, z1, z2, z3, z4, s(z07), false) -> c25(RING(nil, cons(nil, z1), z2, z3, z4, s(z07)), FSTSPLIT(s(z07), nil)) [1] IF_1(nil, z1, z2, z3, z4, s(z07), false) -> c25(RING(nil, cons(nil, z1), z2, z3, z4, s(z07)), FSTSPLIT(s(z07), nil)) [1] IF_1(cons(z15, z21), z1, z2, z3, z4, s(z08), false) -> c25(RING(sndsplit(z08, z21), cons(cons(z15, fstsplit(z08, z21)), z1), z2, z3, z4, s(z08)), FSTSPLIT(s(z08), cons(z15, z21))) [1] IF_1(cons(z15, z21), z1, z2, z3, z4, s(z08), false) -> c25(RING(sndsplit(z08, z21), cons(nil, z1), z2, z3, z4, s(z08)), FSTSPLIT(s(z08), cons(z15, z21))) [1] IF_1(z0, z1, z2, z3, z4, 0, false) -> c25(RING(nil, cons(nil, z1), z2, z3, z4, 0), FSTSPLIT(0, z0)) [1] IF_1(nil, z1, z2, z3, z4, s(z09), false) -> c25(RING(nil, cons(nil, z1), z2, z3, z4, s(z09)), FSTSPLIT(s(z09), nil)) [1] IF_1(cons(z16, z22), z1, z2, z3, z4, s(z010), false) -> c25(RING(nil, cons(cons(z16, fstsplit(z010, z22)), z1), z2, z3, z4, s(z010)), FSTSPLIT(s(z010), cons(z16, z22))) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(nil, cons(nil, z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) [1] IF_3(z0, z1, z2, z3, z4, 0, false) -> c28(RING(z0, z1, z2, cons(nil, z3), z4, 0), SNDSPLIT(0, z2)) [1] IF_3(z0, z1, z2, z3, z4, 0, false) -> c28(RING(z0, z1, z2, cons(nil, z3), z4, 0), SNDSPLIT(0, z2)) [1] IF_3(z0, z1, nil, z3, z4, s(z011), false) -> c28(RING(z0, z1, nil, cons(nil, z3), z4, s(z011)), SNDSPLIT(s(z011), nil)) [1] IF_3(z0, z1, nil, z3, z4, s(z011), false) -> c28(RING(z0, z1, nil, cons(nil, z3), z4, s(z011)), SNDSPLIT(s(z011), nil)) [1] IF_3(z0, z1, cons(z17, z23), z3, z4, s(z012), false) -> c28(RING(z0, z1, sndsplit(z012, z23), cons(cons(z17, fstsplit(z012, z23)), z3), z4, s(z012)), SNDSPLIT(s(z012), cons(z17, z23))) [1] IF_3(z0, z1, cons(z17, z23), z3, z4, s(z012), false) -> c28(RING(z0, z1, sndsplit(z012, z23), cons(nil, z3), z4, s(z012)), SNDSPLIT(s(z012), cons(z17, z23))) [1] IF_3(z0, z1, z2, z3, z4, 0, false) -> c28(RING(z0, z1, nil, cons(nil, z3), z4, 0), SNDSPLIT(0, z2)) [1] IF_3(z0, z1, nil, z3, z4, s(z013), false) -> c28(RING(z0, z1, nil, cons(nil, z3), z4, s(z013)), SNDSPLIT(s(z013), nil)) [1] IF_3(z0, z1, cons(z18, z24), z3, z4, s(z014), false) -> c28(RING(z0, z1, nil, cons(cons(z18, fstsplit(z014, z24)), z3), z4, s(z014)), SNDSPLIT(s(z014), cons(z18, z24))) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, nil, cons(nil, z3), z4, z5), SNDSPLIT(z5, z2)) [1] IF_3(z0, z1, z2, z3, z4, 0, false) -> c29(RING(z0, z1, z2, cons(nil, z3), z4, 0), FSTSPLIT(0, z2)) [1] IF_3(z0, z1, z2, z3, z4, 0, false) -> c29(RING(z0, z1, z2, cons(nil, z3), z4, 0), FSTSPLIT(0, z2)) [1] IF_3(z0, z1, nil, z3, z4, s(z015), false) -> c29(RING(z0, z1, nil, cons(nil, z3), z4, s(z015)), FSTSPLIT(s(z015), nil)) [1] IF_3(z0, z1, nil, z3, z4, s(z015), false) -> c29(RING(z0, z1, nil, cons(nil, z3), z4, s(z015)), FSTSPLIT(s(z015), nil)) [1] IF_3(z0, z1, cons(z19, z25), z3, z4, s(z016), false) -> c29(RING(z0, z1, sndsplit(z016, z25), cons(cons(z19, fstsplit(z016, z25)), z3), z4, s(z016)), FSTSPLIT(s(z016), cons(z19, z25))) [1] IF_3(z0, z1, cons(z19, z25), z3, z4, s(z016), false) -> c29(RING(z0, z1, sndsplit(z016, z25), cons(nil, z3), z4, s(z016)), FSTSPLIT(s(z016), cons(z19, z25))) [1] IF_3(z0, z1, z2, z3, z4, 0, false) -> c29(RING(z0, z1, nil, cons(nil, z3), z4, 0), FSTSPLIT(0, z2)) [1] IF_3(z0, z1, nil, z3, z4, s(z017), false) -> c29(RING(z0, z1, nil, cons(nil, z3), z4, s(z017)), FSTSPLIT(s(z017), nil)) [1] IF_3(z0, z1, cons(z110, z26), z3, z4, s(z018), false) -> c29(RING(z0, z1, nil, cons(cons(z110, fstsplit(z018, z26)), z3), z4, s(z018)), FSTSPLIT(s(z018), cons(z110, z26))) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, nil, cons(nil, z3), z4, z5), FSTSPLIT(z5, z2)) [1] IF_7(z0, z1, z2, z3, z4, 0, false) -> c36(RING(z0, z1, z2, z3, z4, 0), SNDSPLIT(0, z4)) [1] IF_7(z0, z1, z2, z3, nil, s(z019), false) -> c36(RING(z0, z1, z2, z3, nil, s(z019)), SNDSPLIT(s(z019), nil)) [1] IF_7(z0, z1, z2, z3, cons(z111, z27), s(z020), false) -> c36(RING(z0, z1, z2, z3, sndsplit(z020, z27), s(z020)), SNDSPLIT(s(z020), cons(z111, z27))) [1] IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, nil, z5), SNDSPLIT(z5, z4)) [1] MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) [1] RING(z0, z1, z2, z3, z4, 0) -> c19(IF_1(z0, z1, z2, z3, z4, 0, empty(nil)), FSTSPLIT(0, z0)) [1] RING(nil, z1, z2, z3, z4, s(z021)) -> c19(IF_1(nil, z1, z2, z3, z4, s(z021), empty(nil)), FSTSPLIT(s(z021), nil)) [1] RING(cons(z112, z28), z1, z2, z3, z4, s(z022)) -> c19(IF_1(cons(z112, z28), z1, z2, z3, z4, s(z022), empty(cons(z112, fstsplit(z022, z28)))), FSTSPLIT(s(z022), cons(z112, z28))) [1] RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(nil)), FSTSPLIT(z5, z0)) [1] RING(z0, cons(z023, z113), z2, z3, z4, z5) -> c21(IF_5(z0, cons(z023, z113), z2, z3, z4, z5, empty(map_f(two, z023))), MAP_F(two, z023)) [1] RING(z0, cons(z023, z113), z2, z3, z4, z5) -> c21(IF_5(z0, cons(z023, z113), z2, z3, z4, z5, empty(map_f(two, z023))), MAP_F(two, nil)) [1] RING(z0, cons(z024, z114), z2, z3, z4, z5) -> c21(IF_5(z0, cons(z024, z114), z2, z3, z4, z5, empty(map_f(two, nil))), MAP_F(two, z024)) [1] RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, nil))), MAP_F(two, nil)) [1] RING(z0, z1, z2, cons(z025, z115), z4, z5) -> c23(IF_9(z0, z1, z2, cons(z025, z115), z4, z5, empty(map_f(three, z025))), MAP_F(three, z025)) [1] RING(z0, z1, z2, cons(z025, z115), z4, z5) -> c23(IF_9(z0, z1, z2, cons(z025, z115), z4, z5, empty(map_f(three, z025))), MAP_F(three, nil)) [1] RING(z0, z1, z2, cons(z026, z116), z4, z5) -> c23(IF_9(z0, z1, z2, cons(z026, z116), z4, z5, empty(map_f(three, nil))), MAP_F(three, z026)) [1] RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, nil))), MAP_F(three, nil)) [1] IF_2(z0, z1, z2, z3, z4, 0, true) -> c26(IF_3(z0, z1, z2, z3, z4, 0, empty(nil)), FSTSPLIT(0, z2)) [1] IF_2(z0, z1, nil, z3, z4, s(z027), true) -> c26(IF_3(z0, z1, nil, z3, z4, s(z027), empty(nil)), FSTSPLIT(s(z027), nil)) [1] IF_2(z0, z1, cons(z117, z29), z3, z4, s(z028), true) -> c26(IF_3(z0, z1, cons(z117, z29), z3, z4, s(z028), empty(cons(z117, fstsplit(z028, z29)))), FSTSPLIT(s(z028), cons(z117, z29))) [1] IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(nil)), FSTSPLIT(z5, z2)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, z029), z2)), APP(map_f(two, z029), z2), MAP_F(two, z029)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, z029), z2)), APP(map_f(two, z029), z2), MAP_F(two, nil)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, z029), z2)), APP(map_f(two, nil), z2), MAP_F(two, z029)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, z029), z2)), APP(map_f(two, nil), z2), MAP_F(two, nil)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, z029), z2), MAP_F(two, z029)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, z029), z2), MAP_F(two, nil)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, nil), z2), MAP_F(two, z029)) [1] IF_2(z0, cons(z029, z118), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z029, z118), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, z029), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, nil), z2), MAP_F(two, nil)) [1] IF_2(z0, cons(z030, z119), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z030, z119), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, z030), z2)), APP(map_f(two, z030), z2), MAP_F(two, z030)) [1] IF_2(z0, cons(z030, z119), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z030, z119), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, z030), z2)), APP(map_f(two, z030), z2), MAP_F(two, nil)) [1] IF_2(z0, cons(z030, z119), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z030, z119), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, z030), z2)), APP(map_f(two, nil), z2), MAP_F(two, z030)) [1] IF_2(z0, cons(z030, z119), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z030, z119), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, z030), z2)), APP(map_f(two, nil), z2), MAP_F(two, nil)) [1] IF_2(z0, cons(z031, z120), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z031, z120), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, z031), z2), MAP_F(two, z031)) [1] IF_2(z0, cons(z031, z120), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z031, z120), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, z031), z2), MAP_F(two, nil)) [1] IF_2(z0, cons(z032, z121), z2, z3, z4, z5, false) -> c27(IF_4(z0, cons(z032, z121), z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, nil), z2), MAP_F(two, z032)) [1] IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, nil), z2)))), FSTSPLIT(z5, app(map_f(two, nil), z2)), APP(map_f(two, nil), z2), MAP_F(two, nil)) [1] IF_4(z0, cons(z033, z122), z2, z3, z4, z5, false) -> c30(RING(z0, z122, sndsplit(z5, app(map_f(two, z033), z2)), cons(fstsplit(z5, app(map_f(two, z033), z2)), z3), z4, z5)) [1] IF_4(z0, cons(z033, z122), z2, z3, z4, z5, false) -> c30(RING(z0, z122, sndsplit(z5, app(map_f(two, z033), z2)), cons(fstsplit(z5, app(map_f(two, nil), z2)), z3), z4, z5)) [1] IF_4(z0, cons(z033, z122), z2, z3, z4, z5, false) -> c30(RING(z0, z122, sndsplit(z5, app(map_f(two, nil), z2)), cons(fstsplit(z5, app(map_f(two, z033), z2)), z3), z4, z5)) [1] IF_4(z0, cons(z033, z122), z2, z3, z4, z5, false) -> c30(RING(z0, z122, sndsplit(z5, app(map_f(two, nil), z2)), cons(fstsplit(z5, app(map_f(two, nil), z2)), z3), z4, z5)) [1] IF_4(z0, cons(z034, z123), z2, z3, z4, z5, false) -> c30(RING(z0, nil, sndsplit(z5, app(map_f(two, z034), z2)), cons(fstsplit(z5, app(map_f(two, z034), z2)), z3), z4, z5)) [1] IF_4(z0, cons(z034, z123), z2, z3, z4, z5, false) -> c30(RING(z0, nil, sndsplit(z5, app(map_f(two, z034), z2)), cons(fstsplit(z5, app(map_f(two, nil), z2)), z3), z4, z5)) [1] IF_4(z0, cons(z035, z124), z2, z3, z4, z5, false) -> c30(RING(z0, nil, sndsplit(z5, app(map_f(two, nil), z2)), cons(fstsplit(z5, app(map_f(two, z035), z2)), z3), z4, z5)) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, nil, sndsplit(z5, app(map_f(two, nil), z2)), cons(fstsplit(z5, app(map_f(two, nil), z2)), z3), z4, z5)) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_5(z0, cons(z048, z137), z2, z3, z4, z5, true) -> c33(RING(z0, z137, z2, z3, z4, z5)) [1] IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, nil, z2, z3, z4, z5)) [1] IF_6(z0, z1, z2, z3, z4, 0, true) -> c34(IF_7(z0, z1, z2, z3, z4, 0, empty(nil)), FSTSPLIT(0, z4)) [1] IF_6(z0, z1, z2, z3, nil, s(z049), true) -> c34(IF_7(z0, z1, z2, z3, nil, s(z049), empty(nil)), FSTSPLIT(s(z049), nil)) [1] IF_6(z0, z1, z2, z3, cons(z138, z210), s(z050), true) -> c34(IF_7(z0, z1, z2, z3, cons(z138, z210), s(z050), empty(cons(z138, fstsplit(z050, z210)))), FSTSPLIT(s(z050), cons(z138, z210))) [1] IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(nil)), FSTSPLIT(z5, z4)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, z051), z4)), APP(map_f(three, z051), z4), MAP_F(three, z051)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, z051), z4)), APP(map_f(three, z051), z4), MAP_F(three, nil)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, z051), z4)), APP(map_f(three, nil), z4), MAP_F(three, z051)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, z051), z4)), APP(map_f(three, nil), z4), MAP_F(three, nil)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, z051), z4), MAP_F(three, z051)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, z051), z4), MAP_F(three, nil)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, nil), z4), MAP_F(three, z051)) [1] IF_6(z0, z1, z2, cons(z051, z139), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z051, z139), z4, z5, empty(fstsplit(z5, app(map_f(three, z051), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, nil), z4), MAP_F(three, nil)) [1] IF_6(z0, z1, z2, cons(z052, z140), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z052, z140), z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, z052), z4)), APP(map_f(three, z052), z4), MAP_F(three, z052)) [1] IF_6(z0, z1, z2, cons(z052, z140), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z052, z140), z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, z052), z4)), APP(map_f(three, z052), z4), MAP_F(three, nil)) [1] IF_6(z0, z1, z2, cons(z052, z140), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z052, z140), z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, z052), z4)), APP(map_f(three, nil), z4), MAP_F(three, z052)) [1] IF_6(z0, z1, z2, cons(z052, z140), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z052, z140), z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, z052), z4)), APP(map_f(three, nil), z4), MAP_F(three, nil)) [1] IF_6(z0, z1, z2, cons(z053, z141), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z053, z141), z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, z053), z4), MAP_F(three, z053)) [1] IF_6(z0, z1, z2, cons(z053, z141), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z053, z141), z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, z053), z4), MAP_F(three, nil)) [1] IF_6(z0, z1, z2, cons(z054, z142), z4, z5, false) -> c35(IF_8(z0, z1, z2, cons(z054, z142), z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, nil), z4), MAP_F(three, z054)) [1] IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, nil), z4)))), FSTSPLIT(z5, app(map_f(three, nil), z4)), APP(map_f(three, nil), z4), MAP_F(three, nil)) [1] IF_8(z0, z1, z2, cons(z055, z143), z4, z5, false) -> c37(RING(z0, z1, z2, z143, sndsplit(z5, app(map_f(three, z055), z4)), z5)) [1] IF_8(z0, z1, z2, cons(z055, z143), z4, z5, false) -> c37(RING(z0, z1, z2, z143, sndsplit(z5, app(map_f(three, nil), z4)), z5)) [1] IF_8(z0, z1, z2, cons(z056, z144), z4, z5, false) -> c37(RING(z0, z1, z2, nil, sndsplit(z5, app(map_f(three, z056), z4)), z5)) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, nil, sndsplit(z5, app(map_f(three, nil), z4)), z5)) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_9(z0, z1, z2, cons(z062, z150), z4, z5, true) -> c39(RING(z0, z1, z2, z150, z4, z5)) [1] IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, nil, z4, z5)) [1] leq(0, z0) -> true [0] leq(s(z0), 0) -> false [0] leq(s(z0), s(z1)) -> leq(z0, z1) [0] length(nil) -> 0 [0] length(cons(z0, z1)) -> s(length(z1)) [0] sndsplit(0, z0) -> z0 [0] sndsplit(s(z0), nil) -> nil [0] sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) [0] fstsplit(0, z0) -> nil [0] fstsplit(s(z0), nil) -> nil [0] fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) [0] empty(nil) -> true [0] empty(cons(z0, z1)) -> false [0] map_f(z0, nil) -> nil [0] map_f(z0, cons(z1, nil)) -> app(f(z0, z1), nil) [0] map_f(z0, cons(z1, cons(z151, z211))) -> app(f(z0, z1), app(f(z0, z151), map_f(z0, z211))) [0] map_f(z0, cons(z1, z2)) -> app(f(z0, z1), nil) [0] head(cons(z0, z1)) -> z0 [0] app(nil, z0) -> z0 [0] app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) [0] tail(cons(z0, z1)) -> z1 [0] leq(v0, v1) -> null_leq [0] length(v0) -> 0 [0] sndsplit(v0, v1) -> nil [0] fstsplit(v0, v1) -> nil [0] empty(v0) -> null_empty [0] map_f(v0, v1) -> nil [0] head(v0) -> nil [0] app(v0, v1) -> nil [0] tail(v0) -> nil [0] The TRS has the following type information: FSTSPLIT :: s:0 -> cons:nil:f -> c2 s :: s:0 -> s:0 cons :: cons:nil:f -> cons:nil:f -> cons:nil:f c2 :: c2 -> c2 SNDSPLIT :: s:0 -> cons:nil:f -> c5 c5 :: c5 -> c5 LEQ :: s:0 -> s:0 -> c10 c10 :: c10 -> c10 LENGTH :: cons:nil:f -> c12 c12 :: c12 -> c12 APP :: cons:nil:f -> cons:nil:f -> c14 c14 :: c14 -> c14 RING :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> c20:c22:c19:c21:c23 c20 :: c26:c27 -> c10 -> c12 -> c20:c22:c19:c21:c23 IF_2 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c26:c27 leq :: s:0 -> s:0 -> false:true:null_leq:null_empty length :: cons:nil:f -> s:0 c22 :: c34:c35 -> c10 -> c12 -> c20:c22:c19:c21:c23 IF_6 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c34:c35 IF_1 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c24:c25 false :: false:true:null_leq:null_empty c24 :: c20:c22:c19:c21:c23 -> c5 -> c24:c25 sndsplit :: s:0 -> cons:nil:f -> cons:nil:f fstsplit :: s:0 -> cons:nil:f -> cons:nil:f c25 :: c20:c22:c19:c21:c23 -> c2 -> c24:c25 IF_3 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c28:c29 c28 :: c20:c22:c19:c21:c23 -> c5 -> c28:c29 c29 :: c20:c22:c19:c21:c23 -> c2 -> c28:c29 IF_7 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c36 c36 :: c20:c22:c19:c21:c23 -> c5 -> c36 MAP_F :: two:three -> cons:nil:f -> c16 c16 :: c16 -> c16 c19 :: c24:c25 -> c2 -> c20:c22:c19:c21:c23 empty :: cons:nil:f -> false:true:null_leq:null_empty c21 :: c33 -> c16 -> c20:c22:c19:c21:c23 IF_5 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c33 map_f :: two:three -> cons:nil:f -> cons:nil:f two :: two:three head :: cons:nil:f -> cons:nil:f c23 :: c39 -> c16 -> c20:c22:c19:c21:c23 IF_9 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c39 three :: two:three true :: false:true:null_leq:null_empty c26 :: c28:c29 -> c2 -> c26:c27 c27 :: c30:c31:c32 -> c2 -> c14 -> c16 -> c26:c27 IF_4 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c30:c31:c32 app :: cons:nil:f -> cons:nil:f -> cons:nil:f c30 :: c20:c22:c19:c21:c23 -> c30:c31:c32 tail :: cons:nil:f -> cons:nil:f c31 :: c20:c22:c19:c21:c23 -> c5 -> c14 -> c16 -> c30:c31:c32 c32 :: c20:c22:c19:c21:c23 -> c2 -> c14 -> c16 -> c30:c31:c32 c33 :: c20:c22:c19:c21:c23 -> c33 c34 :: c36 -> c2 -> c34:c35 c35 :: c37:c38 -> c2 -> c14 -> c16 -> c34:c35 IF_8 :: cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> cons:nil:f -> s:0 -> false:true:null_leq:null_empty -> c37:c38 c37 :: c20:c22:c19:c21:c23 -> c37:c38 c38 :: c20:c22:c19:c21:c23 -> c5 -> c14 -> c16 -> c37:c38 c39 :: c20:c22:c19:c21:c23 -> c39 0 :: s:0 nil :: cons:nil:f f :: two:three -> cons:nil:f -> cons:nil:f null_leq :: false:true:null_leq:null_empty null_empty :: false:true:null_leq:null_empty const :: c2 const1 :: c5 const2 :: c10 const3 :: c12 const4 :: c14 const5 :: c20:c22:c19:c21:c23 const6 :: c26:c27 const7 :: c34:c35 const8 :: c24:c25 const9 :: c28:c29 const10 :: c36 const11 :: c16 const12 :: c33 const13 :: c39 const14 :: c30:c31:c32 const15 :: c37:c38 Rewrite Strategy: INNERMOST ---------------------------------------- (135) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: false => 1 two => 1 three => 0 true => 2 0 => 0 nil => 0 null_leq => 0 null_empty => 0 const => 0 const1 => 0 const2 => 0 const3 => 0 const4 => 0 const5 => 0 const6 => 0 const7 => 0 const8 => 0 const9 => 0 const10 => 0 const11 => 0 const12 => 0 const13 => 0 const14 => 0 const15 => 0 ---------------------------------------- (136) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 1 + 0 + z1, z2, z3, z4, 0) + SNDSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 1 + 0 + z1, z2, z3, z4, 0) + FSTSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z04, z2'), 1 + 0 + z1, z2, z3, z4, 1 + z04) + SNDSPLIT(1 + z04, 1 + z13 + z2') :|: z9 = 1, z'' = z2, z8 = 1 + z04, z6 = z3, z7 = z4, z2' >= 0, z' = z1, z4 >= 0, z13 >= 0, z2 >= 0, z3 >= 0, z04 >= 0, z1 >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z04, z2'), 1 + (1 + z13 + fstsplit(z04, z2')) + z1, z2, z3, z4, 1 + z04) + SNDSPLIT(1 + z04, 1 + z13 + z2') :|: z9 = 1, z'' = z2, z8 = 1 + z04, z6 = z3, z7 = z4, z2' >= 0, z' = z1, z4 >= 0, z13 >= 0, z2 >= 0, z3 >= 0, z04 >= 0, z1 >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z08, z21), 1 + 0 + z1, z2, z3, z4, 1 + z08) + FSTSPLIT(1 + z08, 1 + z15 + z21) :|: z9 = 1, z08 >= 0, z'' = z2, z8 = 1 + z08, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z2 >= 0, z3 >= 0, z21 >= 0, z15 >= 0, z1 >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z08, z21), 1 + (1 + z15 + fstsplit(z08, z21)) + z1, z2, z3, z4, 1 + z08) + FSTSPLIT(1 + z08, 1 + z15 + z21) :|: z9 = 1, z08 >= 0, z'' = z2, z8 = 1 + z08, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z2 >= 0, z3 >= 0, z21 >= 0, z15 >= 0, z1 >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, z5) + SNDSPLIT(z5, z0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, z5) + FSTSPLIT(z5, z0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 0) + SNDSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 0) + FSTSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z03) + SNDSPLIT(1 + z03, 0) :|: z9 = 1, z'' = z2, z1 >= 0, z8 = 1 + z03, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z03 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z05) + SNDSPLIT(1 + z05, 0) :|: z9 = 1, z'' = z2, z8 = 1 + z05, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z05 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z07) + FSTSPLIT(1 + z07, 0) :|: z8 = 1 + z07, z9 = 1, z'' = z2, z1 >= 0, z07 >= 0, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z09) + FSTSPLIT(1 + z09, 0) :|: z9 = 1, z'' = z2, z8 = 1 + z09, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z09 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z06, z2'')) + z1, z2, z3, z4, 1 + z06) + SNDSPLIT(1 + z06, 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z8 = 1 + z06, z9 = 1, z'' = z2, z6 = z3, z7 = z4, z06 >= 0, z' = z1, z4 >= 0, z2'' >= 0, z14 >= 0, z2 >= 0, z3 >= 0, z1 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z010, z22)) + z1, z2, z3, z4, 1 + z010) + FSTSPLIT(1 + z010, 1 + z16 + z22) :|: z9 = 1, z'' = z2, z6 = z3, z7 = z4, z' = z1, z16 >= 0, z4 >= 0, z22 >= 0, z8 = 1 + z010, z2 >= 0, z3 >= 0, z1 >= 0, z = 1 + z16 + z22, z010 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, z2, z3, z4, z5, empty(0)) + FSTSPLIT(z5, z2) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, z2, z3, z4, 0, empty(0)) + FSTSPLIT(0, z2) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, 0, z3, z4, 1 + z027, empty(0)) + FSTSPLIT(1 + z027, 0) :|: z'' = 0, z = z0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z8 = 1 + z027, z027 >= 0, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, 1 + z117 + z29, z3, z4, 1 + z028, empty(1 + z117 + fstsplit(z028, z29))) + FSTSPLIT(1 + z028, 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z = z0, z6 = z3, z7 = z4, z8 = 1 + z028, z' = z1, z0 >= 0, z4 >= 0, z028 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, z030), z2) + MAP_F(1, z030) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, z030), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z030) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z031 + z120, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z031), z2) + MAP_F(1, z031) :|: z9 = 1, z120 >= 0, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z031 >= 0, z' = 1 + z031 + z120, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z031 + z120, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z031), z2) + MAP_F(1, 0) :|: z9 = 1, z120 >= 0, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z031 >= 0, z' = 1 + z031 + z120, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z032 + z121, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z032) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z032 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z' = 1 + z032 + z121, z2 >= 0, z3 >= 0, z121 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 1 + 0 + z3, z4, 0) + SNDSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 1 + 0 + z3, z4, 0) + FSTSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z012, z23), 1 + 0 + z3, z4, 1 + z012) + SNDSPLIT(1 + z012, 1 + z17 + z23) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z17 >= 0, z23 >= 0, z' = z1, z0 >= 0, z4 >= 0, z8 = 1 + z012, z3 >= 0, z1 >= 0, z'' = 1 + z17 + z23, z012 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z012, z23), 1 + (1 + z17 + fstsplit(z012, z23)) + z3, z4, 1 + z012) + SNDSPLIT(1 + z012, 1 + z17 + z23) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z17 >= 0, z23 >= 0, z' = z1, z0 >= 0, z4 >= 0, z8 = 1 + z012, z3 >= 0, z1 >= 0, z'' = 1 + z17 + z23, z012 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z016, z25), 1 + 0 + z3, z4, 1 + z016) + FSTSPLIT(1 + z016, 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z = z0, z19 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z016 >= 0, z4 >= 0, z3 >= 0, z8 = 1 + z016, z1 >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z016, z25), 1 + (1 + z19 + fstsplit(z016, z25)) + z3, z4, 1 + z016) + FSTSPLIT(1 + z016, 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z = z0, z19 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z016 >= 0, z4 >= 0, z3 >= 0, z8 = 1 + z016, z1 >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, z5) + SNDSPLIT(z5, z2) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, z5) + FSTSPLIT(z5, z2) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 0) + SNDSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 0) + FSTSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z011) + SNDSPLIT(1 + z011, 0) :|: z'' = 0, z9 = 1, z = z0, z1 >= 0, z011 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z8 = 1 + z011 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z013) + SNDSPLIT(1 + z013, 0) :|: z'' = 0, z9 = 1, z = z0, z1 >= 0, z6 = z3, z7 = z4, z013 >= 0, z' = z1, z0 >= 0, z4 >= 0, z8 = 1 + z013, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z015) + FSTSPLIT(1 + z015, 0) :|: z'' = 0, z9 = 1, z = z0, z8 = 1 + z015, z1 >= 0, z015 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z017) + FSTSPLIT(1 + z017, 0) :|: z'' = 0, z9 = 1, z = z0, z1 >= 0, z6 = z3, z7 = z4, z8 = 1 + z017, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z017 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + (1 + z110 + fstsplit(z018, z26)) + z3, z4, 1 + z018) + FSTSPLIT(1 + z018, 1 + z110 + z26) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z' = z1, z'' = 1 + z110 + z26, z0 >= 0, z4 >= 0, z3 >= 0, z018 >= 0, z8 = 1 + z018, z1 >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + (1 + z18 + fstsplit(z014, z24)) + z3, z4, 1 + z014) + SNDSPLIT(1 + z014, 1 + z18 + z24) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z24 >= 0, z3 >= 0, z18 >= 0, z1 >= 0, z'' = 1 + z18 + z24, z8 = 1 + z014, z014 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, z033), z2)), 1 + fstsplit(z5, app(map_f(1, z033), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, z033), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z033), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z034), z2)), 1 + fstsplit(z5, app(map_f(1, z034), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z123 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z034 >= 0, z' = 1 + z034 + z123, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z034), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z123 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z034 >= 0, z' = 1 + z034 + z123, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z035), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z035 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z' = 1 + z035 + z124, z2 >= 0, z3 >= 0, z124 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, tail(z1), sndsplit(z5, app(map_f(1, head(z1)), z2)), 1 + fstsplit(z5, app(map_f(1, head(z1)), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, head(z1)), z2)) + APP(map_f(1, head(z1)), z2) + MAP_F(1, head(z1)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, tail(z1), sndsplit(z5, app(map_f(1, head(z1)), z2)), 1 + fstsplit(z5, app(map_f(1, head(z1)), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, head(z1)), z2)) + APP(map_f(1, head(z1)), z2) + MAP_F(1, head(z1)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z137, z2, z3, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z048 >= 0, z0 >= 0, z4 >= 0, z137 >= 0, z2 >= 0, z3 >= 0, z' = 1 + z048 + z137, z9 = 2, z8 = z5 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, z2, z3, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, z4, z5, empty(0)) + FSTSPLIT(z5, z4) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, z4, 0, empty(0)) + FSTSPLIT(0, z4) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, 0, 1 + z049, empty(0)) + FSTSPLIT(1 + z049, 0) :|: z'' = z2, z = z0, z1 >= 0, z9 = 2, z049 >= 0, z6 = z3, z8 = 1 + z049, z' = z1, z0 >= 0, z7 = 0, z2 >= 0, z3 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, 1 + z138 + z210, 1 + z050, empty(1 + z138 + fstsplit(z050, z210))) + FSTSPLIT(1 + z050, 1 + z138 + z210) :|: z'' = z2, z = z0, z6 = z3, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = 1 + z050, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z050 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, z052), z4) + MAP_F(0, z052) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, z052), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z052) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z053 + z141, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z053), z4) + MAP_F(0, z053) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z141 >= 0, z1 >= 0, z053 >= 0, z8 = z5, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z053 + z141, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z053), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z141 >= 0, z1 >= 0, z053 >= 0, z8 = z5, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z054 + z142, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z054) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = 1 + z054 + z142, z7 = z4, z054 >= 0, z142 >= 0, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z8 = z5 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, z4, 0) + SNDSPLIT(0, z4) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, sndsplit(z020, z27), 1 + z020) + SNDSPLIT(1 + z020, 1 + z111 + z27) :|: z9 = 1, z'' = z2, z = z0, z7 = 1 + z111 + z27, z6 = z3, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = 1 + z020, z27 >= 0, z111 >= 0, z020 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, 0, z5) + SNDSPLIT(z5, z4) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, 0, 1 + z019) + SNDSPLIT(1 + z019, 0) :|: z9 = 1, z'' = z2, z8 = 1 + z019, z = z0, z1 >= 0, z019 >= 0, z6 = z3, z' = z1, z0 >= 0, z7 = 0, z2 >= 0, z3 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z143, sndsplit(z5, app(map_f(0, z055), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = 1 + z055 + z143, z7 = z4, z143 >= 0, z' = z1, z0 >= 0, z055 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z143, sndsplit(z5, app(map_f(0, 0), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = 1 + z055 + z143, z7 = z4, z143 >= 0, z' = z1, z0 >= 0, z055 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z056), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z056 >= 0, z1 >= 0, z144 >= 0, z6 = 1 + z056 + z144, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(0, head(z3)), z4)), z5) + SNDSPLIT(z5, app(map_f(0, head(z3)), z4)) + APP(map_f(0, head(z3)), z4) + MAP_F(0, head(z3)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z150, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150, z8 = z5 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z0, z2) :|: z = z0, z1 >= 0, z' = 1 + z1 + z2, z0 >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(0, 0))) + MAP_F(0, 0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, 1 + z025 + z115, z4, z5, empty(map_f(0, z025))) + MAP_F(0, z025) :|: z6 = 1 + z025 + z115, z'' = z2, z5 >= 0, z = z0, z7 = z4, z115 >= 0, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z025 >= 0, z1 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, 1 + z025 + z115, z4, z5, empty(map_f(0, z025))) + MAP_F(0, 0) :|: z6 = 1 + z025 + z115, z'' = z2, z5 >= 0, z = z0, z7 = z4, z115 >= 0, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z025 >= 0, z1 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, 1 + z026 + z116, z4, z5, empty(map_f(0, 0))) + MAP_F(0, z026) :|: z6 = 1 + z026 + z116, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z026 >= 0, z2 >= 0, z116 >= 0, z1 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(1, 0))) + MAP_F(1, 0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, 1 + z023 + z113, z2, z3, z4, z5, empty(map_f(1, z023))) + MAP_F(1, z023) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, 1 + z023 + z113, z2, z3, z4, z5, empty(map_f(1, z023))) + MAP_F(1, 0) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, 1 + z024 + z114, z2, z3, z4, z5, empty(map_f(1, 0))) + MAP_F(1, z024) :|: z'' = z2, z5 >= 0, z = z0, z114 >= 0, z024 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z' = 1 + z024 + z114, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z0, z1, z2, z3, z4, z5, empty(0)) + FSTSPLIT(z5, z0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z0, z1, z2, z3, z4, 0, empty(0)) + FSTSPLIT(0, z0) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z1, z2, z3, z4, 1 + z021, empty(0)) + FSTSPLIT(1 + z021, 0) :|: z021 >= 0, z'' = z2, z1 >= 0, z6 = z3, z7 = z4, z8 = 1 + z021, z' = z1, z4 >= 0, z = 0, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z1, z2, z3, z4, 1 + z022, empty(1 + z112 + fstsplit(z022, z28))) + FSTSPLIT(1 + z022, 1 + z112 + z28) :|: z'' = z2, z6 = z3, z7 = z4, z28 >= 0, z112 >= 0, z' = z1, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = 1 + z022, z022 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, z4, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(z4) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 0, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z' = z1, z0 >= 0, z8 = z5, z7 = 0, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 1 + z01 + z11, z5, leq(z5, 1 + length(z11))) + LEQ(z5, 0) + LENGTH(1 + z01 + z11) :|: z'' = z2, z5 >= 0, z = z0, z11 >= 0, z6 = z3, z7 = 1 + z01 + z11, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z01 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 1 + z01 + z11, z5, leq(z5, 1 + length(z11))) + LEQ(z5, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z'' = z2, z5 >= 0, z = z0, z11 >= 0, z6 = z3, z7 = 1 + z01 + z11, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z01 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 1 + z02 + z12, z5, leq(z5, 0)) + LEQ(z5, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z02 >= 0, z' = z1, z0 >= 0, z12 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, z2, z3, z4, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(z2) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 0, z3, z4, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(0) :|: z'' = 0, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 1 + z0' + z1', z3, z4, z5, leq(z5, 1 + length(z1'))) + LEQ(z5, 0) + LENGTH(1 + z0' + z1') :|: z5 >= 0, z = z0, z'' = 1 + z0' + z1', z6 = z3, z7 = z4, z1' >= 0, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z1 >= 0, z0' >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 1 + z0' + z1', z3, z4, z5, leq(z5, 1 + length(z1'))) + LEQ(z5, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z5 >= 0, z = z0, z'' = 1 + z0' + z1', z6 = z3, z7 = z4, z1' >= 0, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z1 >= 0, z0' >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 1 + z0'' + z1'', z3, z4, z5, leq(z5, 0)) + LEQ(z5, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z0'' >= 0, z3 >= 0, z1'' >= 0, z1 >= 0, z'' = 1 + z0'' + z1'', z8 = z5 SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 fstsplit(z, z') -{ 0 }-> 0 :|: z0 >= 0, z = 0, z' = z0 fstsplit(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 leq(z, z') -{ 0 }-> 2 :|: z0 >= 0, z = 0, z' = z0 leq(z, z') -{ 0 }-> 1 :|: z = 1 + z0, z0 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 map_f(z, z') -{ 0 }-> app(1 + z0 + z1, app(1 + z0 + z151, map_f(z0, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z = z0, z1 >= 0, z211 >= 0, z0 >= 0 map_f(z, z') -{ 0 }-> app(1 + z0 + z1, 0) :|: z = z0, z1 >= 0, z0 >= 0, z' = 1 + z1 + 0 map_f(z, z') -{ 0 }-> app(1 + z0 + z1, 0) :|: z = z0, z1 >= 0, z' = 1 + z1 + z2, z0 >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> 0 :|: z = z0, z0 >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 sndsplit(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 sndsplit(z, z') -{ 0 }-> sndsplit(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (137) InliningProof (UPPER BOUND(ID)) Inlined the following terminating rules on right-hand sides where appropriate: empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 empty(z) -{ 0 }-> 2 :|: z = 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 ---------------------------------------- (138) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 1 + 0 + z1, z2, z3, z4, 0) + SNDSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 1 + 0 + z1, z2, z3, z4, 0) + FSTSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z04, z2'), 1 + 0 + z1, z2, z3, z4, 1 + z04) + SNDSPLIT(1 + z04, 1 + z13 + z2') :|: z9 = 1, z'' = z2, z8 = 1 + z04, z6 = z3, z7 = z4, z2' >= 0, z' = z1, z4 >= 0, z13 >= 0, z2 >= 0, z3 >= 0, z04 >= 0, z1 >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z04, z2'), 1 + (1 + z13 + fstsplit(z04, z2')) + z1, z2, z3, z4, 1 + z04) + SNDSPLIT(1 + z04, 1 + z13 + z2') :|: z9 = 1, z'' = z2, z8 = 1 + z04, z6 = z3, z7 = z4, z2' >= 0, z' = z1, z4 >= 0, z13 >= 0, z2 >= 0, z3 >= 0, z04 >= 0, z1 >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z08, z21), 1 + 0 + z1, z2, z3, z4, 1 + z08) + FSTSPLIT(1 + z08, 1 + z15 + z21) :|: z9 = 1, z08 >= 0, z'' = z2, z8 = 1 + z08, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z2 >= 0, z3 >= 0, z21 >= 0, z15 >= 0, z1 >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z08, z21), 1 + (1 + z15 + fstsplit(z08, z21)) + z1, z2, z3, z4, 1 + z08) + FSTSPLIT(1 + z08, 1 + z15 + z21) :|: z9 = 1, z08 >= 0, z'' = z2, z8 = 1 + z08, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z2 >= 0, z3 >= 0, z21 >= 0, z15 >= 0, z1 >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, z5) + SNDSPLIT(z5, z0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, z5) + FSTSPLIT(z5, z0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 0) + SNDSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 0) + FSTSPLIT(0, z0) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z03) + SNDSPLIT(1 + z03, 0) :|: z9 = 1, z'' = z2, z1 >= 0, z8 = 1 + z03, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z03 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z05) + SNDSPLIT(1 + z05, 0) :|: z9 = 1, z'' = z2, z8 = 1 + z05, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z05 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z07) + FSTSPLIT(1 + z07, 0) :|: z8 = 1 + z07, z9 = 1, z'' = z2, z1 >= 0, z07 >= 0, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z1, z2, z3, z4, 1 + z09) + FSTSPLIT(1 + z09, 0) :|: z9 = 1, z'' = z2, z8 = 1 + z09, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z4 >= 0, z09 >= 0, z = 0, z2 >= 0, z3 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z06, z2'')) + z1, z2, z3, z4, 1 + z06) + SNDSPLIT(1 + z06, 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z8 = 1 + z06, z9 = 1, z'' = z2, z6 = z3, z7 = z4, z06 >= 0, z' = z1, z4 >= 0, z2'' >= 0, z14 >= 0, z2 >= 0, z3 >= 0, z1 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z010, z22)) + z1, z2, z3, z4, 1 + z010) + FSTSPLIT(1 + z010, 1 + z16 + z22) :|: z9 = 1, z'' = z2, z6 = z3, z7 = z4, z' = z1, z16 >= 0, z4 >= 0, z22 >= 0, z8 = 1 + z010, z2 >= 0, z3 >= 0, z1 >= 0, z = 1 + z16 + z22, z010 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, z2, z3, z4, z5, 2) + FSTSPLIT(z5, z2) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, z2, z3, z4, z5, 0) + FSTSPLIT(z5, z2) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, z2, z3, z4, 0, 2) + FSTSPLIT(0, z2) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, z2, z3, z4, 0, 0) + FSTSPLIT(0, z2) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, 0, z3, z4, 1 + z027, 2) + FSTSPLIT(1 + z027, 0) :|: z'' = 0, z = z0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z8 = 1 + z027, z027 >= 0, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, 0, z3, z4, 1 + z027, 0) + FSTSPLIT(1 + z027, 0) :|: z'' = 0, z = z0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z8 = 1 + z027, z027 >= 0, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, 1 + z117 + z29, z3, z4, 1 + z028, empty(1 + z117 + fstsplit(z028, z29))) + FSTSPLIT(1 + z028, 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z = z0, z6 = z3, z7 = z4, z8 = 1 + z028, z' = z1, z0 >= 0, z4 >= 0, z028 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, z029), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z029), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z029 + z118, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, z029), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z'' = z2, z5 >= 0, z = z0, z' = 1 + z029 + z118, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z118 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, z030), z2) + MAP_F(1, z030) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, z030), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z030) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z030 + z119, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, z030), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z119 >= 0, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z8 = z5, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z031 + z120, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z031), z2) + MAP_F(1, z031) :|: z9 = 1, z120 >= 0, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z031 >= 0, z' = 1 + z031 + z120, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z031 + z120, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z031), z2) + MAP_F(1, 0) :|: z9 = 1, z120 >= 0, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z031 >= 0, z' = 1 + z031 + z120, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, 1 + z032 + z121, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, 0), z2)))) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z032) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z032 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z' = 1 + z032 + z121, z2 >= 0, z3 >= 0, z121 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 1 + 0 + z3, z4, 0) + SNDSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 1 + 0 + z3, z4, 0) + FSTSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z012, z23), 1 + 0 + z3, z4, 1 + z012) + SNDSPLIT(1 + z012, 1 + z17 + z23) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z17 >= 0, z23 >= 0, z' = z1, z0 >= 0, z4 >= 0, z8 = 1 + z012, z3 >= 0, z1 >= 0, z'' = 1 + z17 + z23, z012 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z012, z23), 1 + (1 + z17 + fstsplit(z012, z23)) + z3, z4, 1 + z012) + SNDSPLIT(1 + z012, 1 + z17 + z23) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z17 >= 0, z23 >= 0, z' = z1, z0 >= 0, z4 >= 0, z8 = 1 + z012, z3 >= 0, z1 >= 0, z'' = 1 + z17 + z23, z012 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z016, z25), 1 + 0 + z3, z4, 1 + z016) + FSTSPLIT(1 + z016, 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z = z0, z19 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z016 >= 0, z4 >= 0, z3 >= 0, z8 = 1 + z016, z1 >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z016, z25), 1 + (1 + z19 + fstsplit(z016, z25)) + z3, z4, 1 + z016) + FSTSPLIT(1 + z016, 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z = z0, z19 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z016 >= 0, z4 >= 0, z3 >= 0, z8 = 1 + z016, z1 >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, z5) + SNDSPLIT(z5, z2) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, z5) + FSTSPLIT(z5, z2) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 0) + SNDSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 0) + FSTSPLIT(0, z2) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z011) + SNDSPLIT(1 + z011, 0) :|: z'' = 0, z9 = 1, z = z0, z1 >= 0, z011 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z8 = 1 + z011 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z013) + SNDSPLIT(1 + z013, 0) :|: z'' = 0, z9 = 1, z = z0, z1 >= 0, z6 = z3, z7 = z4, z013 >= 0, z' = z1, z0 >= 0, z4 >= 0, z8 = 1 + z013, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z015) + FSTSPLIT(1 + z015, 0) :|: z'' = 0, z9 = 1, z = z0, z8 = 1 + z015, z1 >= 0, z015 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + 0 + z3, z4, 1 + z017) + FSTSPLIT(1 + z017, 0) :|: z'' = 0, z9 = 1, z = z0, z1 >= 0, z6 = z3, z7 = z4, z8 = 1 + z017, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z017 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + (1 + z110 + fstsplit(z018, z26)) + z3, z4, 1 + z018) + FSTSPLIT(1 + z018, 1 + z110 + z26) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z' = z1, z'' = 1 + z110 + z26, z0 >= 0, z4 >= 0, z3 >= 0, z018 >= 0, z8 = 1 + z018, z1 >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, 0, 1 + (1 + z18 + fstsplit(z014, z24)) + z3, z4, 1 + z014) + SNDSPLIT(1 + z014, 1 + z18 + z24) :|: z9 = 1, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z24 >= 0, z3 >= 0, z18 >= 0, z1 >= 0, z'' = 1 + z18 + z24, z8 = 1 + z014, z014 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, z033), z2)), 1 + fstsplit(z5, app(map_f(1, z033), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, z033), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z033), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z122, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = 1 + z033 + z122, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z033 >= 0, z122 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z034), z2)), 1 + fstsplit(z5, app(map_f(1, z034), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z123 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z034 >= 0, z' = 1 + z034 + z123, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z034), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z123 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z034 >= 0, z' = 1 + z034 + z123, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z035), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z035 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z' = 1 + z035 + z124, z2 >= 0, z3 >= 0, z124 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v01 >= 0, z1 = v01, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1'', sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z11, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z12, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0 >= 0, z1 = v0, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0 >= 0, z1 = v0, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z13, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z14, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, z03) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13, z14 >= 0, z04 >= 0, z1 = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z14, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, z03) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13, z14 >= 0, z04 >= 0, z1 = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, z03) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13, v0 >= 0, z1 = v0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, z03) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z1 = 1 + z03 + z13, v0 >= 0, z1 = v0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, z02), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z01), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, z0''), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, z0'), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z1 = 1 + z02 + z12, v0' >= 0, z1 = v0' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, z01), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0''), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, z0'), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02, v03 >= 0, z1 = v03 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z1 = 1 + z01 + z11, v0'' >= 0, z1 = v0'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, z0''), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, z0'), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z1 = 1 + z0'' + z1'', v01 >= 0, z1 = v01 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, z0'), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, z0') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, z1' >= 0, z0' >= 0, z1 = 1 + z0' + z1', v02 >= 0, z1 = v02 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, sndsplit(z5, app(map_f(1, 0), z2)), 1 + fstsplit(z5, app(map_f(1, 0), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, 0), z2)) + APP(map_f(1, 0), z2) + MAP_F(1, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z1 = v0, v0' >= 0, z1 = v0', v0'' >= 0, z1 = v0'', v01 >= 0, z1 = v01, v02 >= 0, z1 = v02, v03 >= 0, z1 = v03 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z137, z2, z3, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z048 >= 0, z0 >= 0, z4 >= 0, z137 >= 0, z2 >= 0, z3 >= 0, z' = 1 + z048 + z137, z9 = 2, z8 = z5 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, 0, z2, z3, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, z4, z5, 2) + FSTSPLIT(z5, z4) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, z4, z5, 0) + FSTSPLIT(z5, z4) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, z4, 0, 2) + FSTSPLIT(0, z4) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, z4, 0, 0) + FSTSPLIT(0, z4) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z9 = 2, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, 0, 1 + z049, 2) + FSTSPLIT(1 + z049, 0) :|: z'' = z2, z = z0, z1 >= 0, z9 = 2, z049 >= 0, z6 = z3, z8 = 1 + z049, z' = z1, z0 >= 0, z7 = 0, z2 >= 0, z3 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, 0, 1 + z049, 0) + FSTSPLIT(1 + z049, 0) :|: z'' = z2, z = z0, z1 >= 0, z9 = 2, z049 >= 0, z6 = z3, z8 = 1 + z049, z' = z1, z0 >= 0, z7 = 0, z2 >= 0, z3 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, 1 + z138 + z210, 1 + z050, empty(1 + z138 + fstsplit(z050, z210))) + FSTSPLIT(1 + z050, 1 + z138 + z210) :|: z'' = z2, z = z0, z6 = z3, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = 1 + z050, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z050 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, z051), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z051), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z051) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z051 + z139, z4, z5, empty(fstsplit(z5, app(map_f(0, z051), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z139 >= 0, z' = z1, z0 >= 0, z4 >= 0, z6 = 1 + z051 + z139, z2 >= 0, z1 >= 0, z051 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, z052), z4) + MAP_F(0, z052) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, z052), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z052) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z052 + z140, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, z052), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z052 >= 0, z7 = z4, z' = z1, z0 >= 0, z6 = 1 + z052 + z140, z4 >= 0, z2 >= 0, z1 >= 0, z140 >= 0, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z053 + z141, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z053), z4) + MAP_F(0, z053) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z141 >= 0, z1 >= 0, z053 >= 0, z8 = z5, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z053 + z141, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z053), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z141 >= 0, z1 >= 0, z053 >= 0, z8 = z5, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, 1 + z054 + z142, z4, z5, empty(fstsplit(z5, app(map_f(0, 0), z4)))) + FSTSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z054) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = 1 + z054 + z142, z7 = z4, z054 >= 0, z142 >= 0, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z8 = z5 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, z4, 0) + SNDSPLIT(0, z4) :|: z9 = 1, z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, sndsplit(z020, z27), 1 + z020) + SNDSPLIT(1 + z020, 1 + z111 + z27) :|: z9 = 1, z'' = z2, z = z0, z7 = 1 + z111 + z27, z6 = z3, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = 1 + z020, z27 >= 0, z111 >= 0, z020 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, 0, z5) + SNDSPLIT(z5, z4) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, 0, 1 + z019) + SNDSPLIT(1 + z019, 0) :|: z9 = 1, z'' = z2, z8 = 1 + z019, z = z0, z1 >= 0, z019 >= 0, z6 = z3, z' = z1, z0 >= 0, z7 = 0, z2 >= 0, z3 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z143, sndsplit(z5, app(map_f(0, z055), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = 1 + z055 + z143, z7 = z4, z143 >= 0, z' = z1, z0 >= 0, z055 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z143, sndsplit(z5, app(map_f(0, 0), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = 1 + z055 + z143, z7 = z4, z143 >= 0, z' = z1, z0 >= 0, z055 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z056), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z056 >= 0, z1 >= 0, z144 >= 0, z6 = 1 + z056 + z144, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z1', sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', v01 >= 0, z3 = v01, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z1'', sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z1'', sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z1'', sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0'), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0'' >= 0, z3 = v0'', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z1'', sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z0') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z11, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z11, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0' >= 0, z3 = v0', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z11, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z11, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0' >= 0, z3 = v0', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z11, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0' >= 0, z3 = v0', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z11, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0'), z4) + MAP_F(0, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z12, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, z01), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, v0 >= 0, z3 = v0, z12 >= 0, z02 >= 0, z3 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z12, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0 >= 0, z3 = v0, z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z3 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z12, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z3 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z12, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z3 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z13, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, z01), z4) + MAP_F(0, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z3 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z3 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, z01), z4) + MAP_F(0, z02) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z3 = 1 + z02 + z12, v0 >= 0, z3 = v0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, z01), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0 >= 0, z3 = v0, z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, v0' >= 0, z3 = v0' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0''), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, v0' >= 0, z3 = v0' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0'' >= 0, z3 = v0'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, z0'), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', v01 >= 0, z3 = v01 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, z01) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z3 = 1 + z01 + z11, v0' >= 0, z3 = v0' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, z0''), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0' >= 0, z3 = v0', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0'' >= 0, z3 = v0'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, z0'), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', v01 >= 0, z3 = v01 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0'), z4) + MAP_F(0, z0'') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z3 = 1 + z0'' + z1'', v0'' >= 0, z3 = v0'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, z0'), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v0'' >= 0, z3 = v0'', v01 >= 0, z3 = v01 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, z0') :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', z1' >= 0, z0' >= 0, z3 = 1 + z0' + z1', v01 >= 0, z3 = v01 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, sndsplit(z5, app(map_f(0, 0), z4)), z5) + SNDSPLIT(z5, app(map_f(0, 0), z4)) + APP(map_f(0, 0), z4) + MAP_F(0, 0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, v0 >= 0, z3 = v0, v0' >= 0, z3 = v0', v0'' >= 0, z3 = v0'', v01 >= 0, z3 = v01, v02 >= 0, z3 = v02 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z150, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z1 >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150, z8 = z5 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, 0, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z0, z2) :|: z = z0, z1 >= 0, z' = 1 + z1 + z2, z0 >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(0, 0))) + MAP_F(0, 0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, 1 + z025 + z115, z4, z5, empty(map_f(0, z025))) + MAP_F(0, z025) :|: z6 = 1 + z025 + z115, z'' = z2, z5 >= 0, z = z0, z7 = z4, z115 >= 0, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z025 >= 0, z1 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, 1 + z025 + z115, z4, z5, empty(map_f(0, z025))) + MAP_F(0, 0) :|: z6 = 1 + z025 + z115, z'' = z2, z5 >= 0, z = z0, z7 = z4, z115 >= 0, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z025 >= 0, z1 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, 1 + z026 + z116, z4, z5, empty(map_f(0, 0))) + MAP_F(0, z026) :|: z6 = 1 + z026 + z116, z'' = z2, z5 >= 0, z = z0, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z026 >= 0, z2 >= 0, z116 >= 0, z1 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(1, 0))) + MAP_F(1, 0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, 1 + z023 + z113, z2, z3, z4, z5, empty(map_f(1, z023))) + MAP_F(1, z023) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, 1 + z023 + z113, z2, z3, z4, z5, empty(map_f(1, z023))) + MAP_F(1, 0) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, 1 + z024 + z114, z2, z3, z4, z5, empty(map_f(1, 0))) + MAP_F(1, z024) :|: z'' = z2, z5 >= 0, z = z0, z114 >= 0, z024 >= 0, z6 = z3, z7 = z4, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z' = 1 + z024 + z114, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z0, z1, z2, z3, z4, z5, 2) + FSTSPLIT(z5, z0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z0, z1, z2, z3, z4, z5, 0) + FSTSPLIT(z5, z0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z0, z1, z2, z3, z4, 0, 2) + FSTSPLIT(0, z0) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z0, z1, z2, z3, z4, 0, 0) + FSTSPLIT(0, z0) :|: z'' = z2, z = z0, z8 = 0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z1, z2, z3, z4, 1 + z021, 2) + FSTSPLIT(1 + z021, 0) :|: z021 >= 0, z'' = z2, z1 >= 0, z6 = z3, z7 = z4, z8 = 1 + z021, z' = z1, z4 >= 0, z = 0, z2 >= 0, z3 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z1, z2, z3, z4, 1 + z021, 0) + FSTSPLIT(1 + z021, 0) :|: z021 >= 0, z'' = z2, z1 >= 0, z6 = z3, z7 = z4, z8 = 1 + z021, z' = z1, z4 >= 0, z = 0, z2 >= 0, z3 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z1, z2, z3, z4, 1 + z022, empty(1 + z112 + fstsplit(z022, z28))) + FSTSPLIT(1 + z022, 1 + z112 + z28) :|: z'' = z2, z6 = z3, z7 = z4, z28 >= 0, z112 >= 0, z' = z1, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = 1 + z022, z022 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, z4, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(z4) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 0, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z' = z1, z0 >= 0, z8 = z5, z7 = 0, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 1 + z01 + z11, z5, leq(z5, 1 + length(z11))) + LEQ(z5, 0) + LENGTH(1 + z01 + z11) :|: z'' = z2, z5 >= 0, z = z0, z11 >= 0, z6 = z3, z7 = 1 + z01 + z11, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z01 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 1 + z01 + z11, z5, leq(z5, 1 + length(z11))) + LEQ(z5, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z'' = z2, z5 >= 0, z = z0, z11 >= 0, z6 = z3, z7 = 1 + z01 + z11, z' = z1, z0 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z01 >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, 1 + z02 + z12, z5, leq(z5, 0)) + LEQ(z5, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z02 >= 0, z' = z1, z0 >= 0, z12 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, z2, z3, z4, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(z2) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 0, z3, z4, z5, leq(z5, 0)) + LEQ(z5, 0) + LENGTH(0) :|: z'' = 0, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 1 + z0' + z1', z3, z4, z5, leq(z5, 1 + length(z1'))) + LEQ(z5, 0) + LENGTH(1 + z0' + z1') :|: z5 >= 0, z = z0, z'' = 1 + z0' + z1', z6 = z3, z7 = z4, z1' >= 0, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z1 >= 0, z0' >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 1 + z0' + z1', z3, z4, z5, leq(z5, 1 + length(z1'))) + LEQ(z5, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z5 >= 0, z = z0, z'' = 1 + z0' + z1', z6 = z3, z7 = z4, z1' >= 0, z' = z1, z0 >= 0, z4 >= 0, z3 >= 0, z1 >= 0, z0' >= 0, z8 = z5 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, 1 + z0'' + z1'', z3, z4, z5, leq(z5, 0)) + LEQ(z5, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z0'' >= 0, z3 >= 0, z1'' >= 0, z1 >= 0, z'' = 1 + z0'' + z1'', z8 = z5 SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 fstsplit(z, z') -{ 0 }-> 0 :|: z0 >= 0, z = 0, z' = z0 fstsplit(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 leq(z, z') -{ 0 }-> 2 :|: z0 >= 0, z = 0, z' = z0 leq(z, z') -{ 0 }-> 1 :|: z = 1 + z0, z0 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 map_f(z, z') -{ 0 }-> app(1 + z0 + z1, app(1 + z0 + z151, map_f(z0, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z = z0, z1 >= 0, z211 >= 0, z0 >= 0 map_f(z, z') -{ 0 }-> app(1 + z0 + z1, 0) :|: z = z0, z1 >= 0, z0 >= 0, z' = 1 + z1 + 0 map_f(z, z') -{ 0 }-> app(1 + z0 + z1, 0) :|: z = z0, z1 >= 0, z' = 1 + z1 + z2, z0 >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> 0 :|: z = z0, z0 >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 sndsplit(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 sndsplit(z, z') -{ 0 }-> sndsplit(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 ---------------------------------------- (139) SimplificationProof (BOTH BOUNDS(ID, ID)) Simplified the RNTS by moving equalities from the constraints into the right-hand sides. ---------------------------------------- (140) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, z031) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, 0) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z032) :|: z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, z053) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z054) :|: z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + MAP_F(0, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, z025) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, 0) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + MAP_F(0, z026) :|: z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, z023) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, 0) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, z024) :|: z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 ---------------------------------------- (141) CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID)) Found the following analysis order by SCC decomposition: { MAP_F } { empty } { length } { tail } { APP } { FSTSPLIT } { sndsplit } { leq } { LENGTH } { fstsplit } { SNDSPLIT } { head } { app } { LEQ } { map_f } { IF_6, IF_7, IF_9, IF_8, IF_2, IF_4, IF_1, IF_3, RING, IF_5 } ---------------------------------------- (142) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, z031) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, 0) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z032) :|: z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, z053) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z054) :|: z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + MAP_F(0, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, z025) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, 0) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + MAP_F(0, z026) :|: z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, z023) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, 0) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, z024) :|: z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {MAP_F}, {empty}, {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} ---------------------------------------- (143) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (144) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, z031) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, 0) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z032) :|: z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, z053) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z054) :|: z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + MAP_F(0, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, z025) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, 0) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + MAP_F(0, z026) :|: z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, z023) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, 0) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, z024) :|: z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {MAP_F}, {empty}, {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} ---------------------------------------- (145) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: MAP_F after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (146) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, z031) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, 0) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z032) :|: z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, z053) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z054) :|: z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + MAP_F(0, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, z025) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, 0) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + MAP_F(0, z026) :|: z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, z023) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, 0) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, z024) :|: z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {MAP_F}, {empty}, {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: ?, size: O(1) [0] ---------------------------------------- (147) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: MAP_F after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (148) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z029) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z030) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, z031) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + MAP_F(1, 0) :|: z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z032) :|: z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, z03) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + MAP_F(1, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z051) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z052) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, z053) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z054) :|: z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, z02) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, z01) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, z0'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, z0') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + MAP_F(0, 0) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + MAP_F(0, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, z025) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + MAP_F(0, 0) :|: z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + MAP_F(0, z026) :|: z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, 0) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, z023) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + MAP_F(1, 0) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + MAP_F(1, z024) :|: z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {empty}, {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (149) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (150) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {empty}, {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (151) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: empty after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (152) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {empty}, {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: ?, size: O(1) [2] ---------------------------------------- (153) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: empty after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (154) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (155) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (156) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (157) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: length after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (158) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {length}, {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: ?, size: O(n^1) [z] ---------------------------------------- (159) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: length after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (160) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + length(z11))) + LEQ(z8, 1 + length(z11)) + LENGTH(1 + z01 + z11) :|: z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z12)) + LENGTH(1 + z02 + z12) :|: z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + length(z1'))) + LEQ(z8, 1 + length(z1')) + LENGTH(1 + z0' + z1') :|: z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + length(z1'')) + LENGTH(1 + z0'' + z1'') :|: z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (161) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (162) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (163) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: tail after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (164) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {tail}, {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: ?, size: O(n^1) [z] ---------------------------------------- (165) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: tail after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (166) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (167) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (168) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (169) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: APP after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (170) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {APP}, {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: ?, size: O(1) [0] ---------------------------------------- (171) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: APP after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (172) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 }-> 1 + APP(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] ---------------------------------------- (173) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (174) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] ---------------------------------------- (175) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: FSTSPLIT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (176) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {FSTSPLIT}, {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: ?, size: O(1) [0] ---------------------------------------- (177) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: FSTSPLIT after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (178) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z15 + z21) :|: z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + FSTSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + FSTSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z16 + z22) :|: z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z'') :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z'') :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + FSTSPLIT(1 + (z8 - 1), 1 + z117 + z29) :|: z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z19 + z25) :|: z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + FSTSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + FSTSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + FSTSPLIT(1 + (z8 - 1), 1 + z110 + z26) :|: z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z7) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z7) :|: z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + FSTSPLIT(1 + (z8 - 1), 1 + z138 + z210) :|: z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + FSTSPLIT(z8, z) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + FSTSPLIT(0, z) :|: z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + FSTSPLIT(1 + (z8 - 1), 0) :|: z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + FSTSPLIT(1 + (z8 - 1), 1 + z112 + z28) :|: z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (179) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (180) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (181) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: sndsplit after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (182) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {sndsplit}, {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (183) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: sndsplit after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (184) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z8 - 1, z2'), 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(sndsplit(z8 - 1, z21), 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', sndsplit(z8 - 1, z23), 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', sndsplit(z8 - 1, z25), 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, sndsplit(z8 - 1, z27), 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> sndsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] ---------------------------------------- (185) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (186) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] ---------------------------------------- (187) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: leq after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 2 ---------------------------------------- (188) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {leq}, {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: ?, size: O(1) [2] ---------------------------------------- (189) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: leq after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (190) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z7) :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s203)) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, leq(z8, 1 + s205)) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, leq(z8, 0)) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(z'') :|: z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, leq(z8, 0)) + LEQ(z8, 0) + LENGTH(0) :|: z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s199)) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, leq(z8, 1 + s201)) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, leq(z8, 0)) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (191) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (192) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + LENGTH(z7) :|: s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + LENGTH(0) :|: s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + LENGTH(z'') :|: s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + LENGTH(0) :|: s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] ---------------------------------------- (193) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LENGTH after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (194) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + LENGTH(z7) :|: s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + LENGTH(0) :|: s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + LENGTH(z'') :|: s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + LENGTH(0) :|: s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {LENGTH}, {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: ?, size: O(1) [0] ---------------------------------------- (195) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LENGTH after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (196) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + LENGTH(z7) :|: s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + LENGTH(0) :|: s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + LENGTH(1 + z01 + z11) :|: s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + LENGTH(1 + z01 + z11) :|: s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + LENGTH(1 + z02 + z12) :|: s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + LENGTH(z'') :|: s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + LENGTH(0) :|: s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + LENGTH(1 + z0' + z1') :|: s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + LENGTH(1 + z0' + z1') :|: s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + LENGTH(1 + z0'' + z1'') :|: s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] ---------------------------------------- (197) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (198) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] ---------------------------------------- (199) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: fstsplit after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (200) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {fstsplit}, {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: ?, size: O(n^1) [z'] ---------------------------------------- (201) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: fstsplit after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (202) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + fstsplit(z8 - 1, z2')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + fstsplit(z8 - 1, z21)) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + fstsplit(z8 - 1, z2'')) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + fstsplit(z8 - 1, z22)) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), empty(1 + z117 + fstsplit(z8 - 1, z29))) + s235 :|: s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + fstsplit(z8 - 1, z23)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + fstsplit(z8 - 1, z25)) + z6, z7, 1 + (z8 - 1)) + s219 :|: s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + fstsplit(z8 - 1, z26)) + z6, z7, 1 + (z8 - 1)) + s222 :|: s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + fstsplit(z8 - 1, z24)) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), empty(1 + z138 + fstsplit(z8 - 1, z210))) + s242 :|: s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), empty(1 + z112 + fstsplit(z8 - 1, z28))) + s228 :|: s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] ---------------------------------------- (203) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (204) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] ---------------------------------------- (205) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: SNDSPLIT after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (206) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {SNDSPLIT}, {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: ?, size: O(1) [0] ---------------------------------------- (207) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: SNDSPLIT after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (208) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z13 + z2') :|: s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + SNDSPLIT(z8, z) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + SNDSPLIT(0, z) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z14 + z2'') :|: s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z17 + z23) :|: s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + SNDSPLIT(z8, z'') :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + SNDSPLIT(0, z'') :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z18 + z24) :|: s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 1 + z111 + z27) :|: s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, z7, 0) + SNDSPLIT(0, z7) :|: z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, z8) + SNDSPLIT(z8, z7) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + SNDSPLIT(1 + (z8 - 1), 0) :|: z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z - 1, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (209) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (210) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (211) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using KoAT for: head after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z ---------------------------------------- (212) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {head}, {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: ?, size: O(n^1) [z] ---------------------------------------- (213) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: head after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (214) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (215) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (216) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] ---------------------------------------- (217) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: app after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z + z' ---------------------------------------- (218) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {app}, {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: ?, size: O(n^1) [z + z'] ---------------------------------------- (219) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: app after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (220) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z') :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, 0) :|: z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + (z' - 1), 0) :|: z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (221) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (222) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + s313 :|: s313 >= 0, s313 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> s311 :|: s311 >= 0, s311 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> s312 :|: s312 >= 0, s312 <= 1 + z + z1 + 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] ---------------------------------------- (223) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: LEQ after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (224) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + s313 :|: s313 >= 0, s313 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> s311 :|: s311 >= 0, s311 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> s312 :|: s312 >= 0, s312 <= 1 + z + z1 + 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {LEQ}, {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] LEQ: runtime: ?, size: O(1) [0] ---------------------------------------- (225) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: LEQ after applying outer abstraction to obtain an ITS, resulting in: O(n^1) with polynomial bound: z' ---------------------------------------- (226) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z - 1, z' - 1) :|: z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + LEQ(z8, 0) + s276 :|: s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + LEQ(z8, 0) + s272 :|: s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + LEQ(z8, 1 + s204) + s273 :|: s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + LEQ(z8, 0) + s274 :|: s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + LEQ(z8, 1 + s206) + s275 :|: s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + LEQ(z8, 0) + s271 :|: s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + LEQ(z8, 0) + s267 :|: s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + LEQ(z8, 1 + s200) + s268 :|: s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + LEQ(z8, 0) + s269 :|: s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + LEQ(z8, 1 + s202) + s270 :|: s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + s313 :|: s313 >= 0, s313 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> s311 :|: s311 >= 0, s311 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> s312 :|: s312 >= 0, s312 <= 1 + z + z1 + 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] LEQ: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (227) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (228) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ z' }-> 1 + s314 :|: s314 >= 0, s314 <= 0, z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + s324 + s276 :|: s324 >= 0, s324 <= 0, s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + s320 + s272 :|: s320 >= 0, s320 <= 0, s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s204 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + s321 + s273 :|: s321 >= 0, s321 <= 0, s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + s322 + s274 :|: s322 >= 0, s322 <= 0, s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s206 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + s323 + s275 :|: s323 >= 0, s323 <= 0, s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + s319 + s271 :|: s319 >= 0, s319 <= 0, s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + s315 + s267 :|: s315 >= 0, s315 <= 0, s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s200 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + s316 + s268 :|: s316 >= 0, s316 <= 0, s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + s317 + s269 :|: s317 >= 0, s317 <= 0, s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s202 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + s318 + s270 :|: s318 >= 0, s318 <= 0, s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + s313 :|: s313 >= 0, s313 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> s311 :|: s311 >= 0, s311 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> s312 :|: s312 >= 0, s312 <= 1 + z + z1 + 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] LEQ: runtime: O(n^1) [z'], size: O(1) [0] ---------------------------------------- (229) IntTrsBoundProof (UPPER BOUND(ID)) Computed SIZE bound using CoFloCo for: map_f after applying outer abstraction to obtain an ITS, resulting in: O(n^2) with polynomial bound: 3*z + 2*z*z' + z' + z'^2 ---------------------------------------- (230) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ z' }-> 1 + s314 :|: s314 >= 0, s314 <= 0, z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + s324 + s276 :|: s324 >= 0, s324 <= 0, s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + s320 + s272 :|: s320 >= 0, s320 <= 0, s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s204 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + s321 + s273 :|: s321 >= 0, s321 <= 0, s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + s322 + s274 :|: s322 >= 0, s322 <= 0, s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s206 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + s323 + s275 :|: s323 >= 0, s323 <= 0, s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + s319 + s271 :|: s319 >= 0, s319 <= 0, s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + s315 + s267 :|: s315 >= 0, s315 <= 0, s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s200 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + s316 + s268 :|: s316 >= 0, s316 <= 0, s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + s317 + s269 :|: s317 >= 0, s317 <= 0, s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s202 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + s318 + s270 :|: s318 >= 0, s318 <= 0, s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + s313 :|: s313 >= 0, s313 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> s311 :|: s311 >= 0, s311 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> s312 :|: s312 >= 0, s312 <= 1 + z + z1 + 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {map_f}, {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] LEQ: runtime: O(n^1) [z'], size: O(1) [0] map_f: runtime: ?, size: O(n^2) [3*z + 2*z*z' + z' + z'^2] ---------------------------------------- (231) IntTrsBoundProof (UPPER BOUND(ID)) Computed RUNTIME bound using CoFloCo for: map_f after applying outer abstraction to obtain an ITS, resulting in: O(1) with polynomial bound: 0 ---------------------------------------- (232) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s22 :|: s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s7 :|: s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, z029), z'') + s8 :|: s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s10 :|: s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, z029), z'')) + APP(map_f(1, 0), z'') + s9 :|: s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s11 :|: s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z029), z'') + s12 :|: s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s13 :|: s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, z029), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s14 :|: s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s15 :|: s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, z030), z'') + s16 :|: s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s17 :|: s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, z030), z'')) + APP(map_f(1, 0), z'') + s18 :|: s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s19 :|: s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z031), z'') + s20 :|: s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(1, 0), z'')))) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s21 :|: s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, z033), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z033), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, z034), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z034), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z035), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s102 :|: s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s166 :|: s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s70 :|: s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s134 :|: s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s86 :|: s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s150 :|: s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s94 :|: s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s98 :|: s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s100 :|: s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s158 :|: s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s162 :|: s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z1'', sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s164 :|: s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s54 :|: s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s118 :|: s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s62 :|: s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s66 :|: s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s68 :|: s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s126 :|: s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s130 :|: s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s132 :|: s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s78 :|: s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s82 :|: s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s84 :|: s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s142 :|: s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s146 :|: s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s148 :|: s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s90 :|: s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s92 :|: s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s96 :|: s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s154 :|: s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s156 :|: s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z11, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s160 :|: s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s46 :|: s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s50 :|: s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s52 :|: s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s110 :|: s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s114 :|: s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s116 :|: s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s58 :|: s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s60 :|: s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s64 :|: s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s122 :|: s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s124 :|: s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s128 :|: s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s74 :|: s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s76 :|: s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s80 :|: s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s138 :|: s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s140 :|: s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s144 :|: s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s88 :|: s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z12, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s152 :|: s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s42 :|: s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s44 :|: s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s48 :|: s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s106 :|: s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s108 :|: s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s112 :|: s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s56 :|: s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s120 :|: s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s72 :|: s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z13, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s136 :|: s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s40 :|: s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, z14, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s104 :|: s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s39 :|: s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s41 :|: s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s43 :|: s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s45 :|: s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s47 :|: s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s49 :|: s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s51 :|: s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s53 :|: s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z03 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s103 :|: s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, z02), z'') + s105 :|: s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s107 :|: s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z01), z'')) + APP(map_f(1, 0), z'') + s109 :|: s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s111 :|: s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z01), z'') + s113 :|: s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s115 :|: s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, z0''), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s117 :|: s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s55 :|: s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s57 :|: s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s59 :|: s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s61 :|: s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s63 :|: s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s65 :|: s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s67 :|: s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s69 :|: s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s119 :|: s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s121 :|: s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s123 :|: s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s125 :|: s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s127 :|: s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s129 :|: s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s131 :|: s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, z0'), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s133 :|: s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s71 :|: s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s73 :|: s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s75 :|: s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s77 :|: s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s79 :|: s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s81 :|: s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s83 :|: s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s85 :|: s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s135 :|: s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, z01), z'') + s137 :|: s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s139 :|: s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0''), z'')) + APP(map_f(1, 0), z'') + s141 :|: s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s143 :|: s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0''), z'') + s145 :|: s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s147 :|: s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, z0'), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s149 :|: s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s87 :|: s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s89 :|: s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s91 :|: s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s93 :|: s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s95 :|: s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s97 :|: s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s101 :|: s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + SNDSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s99 :|: s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s151 :|: s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, z0''), z'') + s153 :|: s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s155 :|: s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, z0'), z'')) + APP(map_f(1, 0), z'') + s157 :|: s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s159 :|: s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, z0'), z'') + s161 :|: s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s163 :|: s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, sndsplit(z8, app(map_f(1, 0), z'')), 1 + fstsplit(z8, app(map_f(1, 0), z'')) + z6, z7, z8) + FSTSPLIT(z8, app(map_f(1, 0), z'')) + APP(map_f(1, 0), z'') + s165 :|: s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', z6, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s38 :|: s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s23 :|: s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, z051), z7) + s24 :|: s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s25 :|: s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, z051), z7)) + APP(map_f(0, 0), z7) + s26 :|: s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s27 :|: s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z051), z7) + s28 :|: s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s29 :|: s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, empty(fstsplit(z8, app(map_f(0, z051), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s30 :|: s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s31 :|: s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, z052), z7) + s32 :|: s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s33 :|: s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, z052), z7)) + APP(map_f(0, 0), z7) + s34 :|: s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s35 :|: s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z053), z7) + s36 :|: s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, empty(fstsplit(z8, app(map_f(0, 0), z7)))) + FSTSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s37 :|: s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, z055), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z056), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) :|: z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s198 :|: s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s182 :|: s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s190 :|: s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s194 :|: s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', z1'', sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s196 :|: s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s174 :|: s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s178 :|: s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s180 :|: s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s186 :|: s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s188 :|: s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', z11, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s192 :|: s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s170 :|: s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s172 :|: s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s176 :|: s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', z12, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s184 :|: s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', z13, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s168 :|: s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z02 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s167 :|: s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, z01), z7) + s169 :|: s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s171 :|: s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0''), z7)) + APP(map_f(0, 0), z7) + s173 :|: s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s175 :|: s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0''), z7) + s177 :|: s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s179 :|: s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, z0'), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s181 :|: s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z01 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s183 :|: s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, z0''), z7) + s185 :|: s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s187 :|: s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, z0'), z7)) + APP(map_f(0, 0), z7) + s189 :|: s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0'' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s191 :|: s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, z0'), z7) + s193 :|: s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + z0' }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s195 :|: s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, sndsplit(z8, app(map_f(0, 0), z7)), z8) + SNDSPLIT(z8, app(map_f(0, 0), z7)) + APP(map_f(0, 0), z7) + s197 :|: s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ z' }-> 1 + s314 :|: s314 >= 0, s314 <= 0, z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, empty(map_f(0, 0))) + s6 :|: s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s3 :|: s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, empty(map_f(0, z025))) + s4 :|: s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, empty(map_f(0, 0))) + s5 :|: s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, empty(map_f(1, 0))) + s2 :|: s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s' :|: s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, empty(map_f(1, z023))) + s'' :|: s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, empty(map_f(1, 0))) + s1 :|: s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + s324 + s276 :|: s324 >= 0, s324 <= 0, s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + s320 + s272 :|: s320 >= 0, s320 <= 0, s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s204 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + s321 + s273 :|: s321 >= 0, s321 <= 0, s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + s322 + s274 :|: s322 >= 0, s322 <= 0, s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s206 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + s323 + s275 :|: s323 >= 0, s323 <= 0, s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + s319 + s271 :|: s319 >= 0, s319 <= 0, s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + s315 + s267 :|: s315 >= 0, s315 <= 0, s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s200 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + s316 + s268 :|: s316 >= 0, s316 <= 0, s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + s317 + s269 :|: s317 >= 0, s317 <= 0, s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s202 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + s318 + s270 :|: s318 >= 0, s318 <= 0, s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + s313 :|: s313 >= 0, s313 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> s311 :|: s311 >= 0, s311 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> s312 :|: s312 >= 0, s312 <= 1 + z + z1 + 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> app(1 + z + z1, app(1 + z + z151, map_f(z, z211))) :|: z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] LEQ: runtime: O(n^1) [z'], size: O(1) [0] map_f: runtime: O(1) [0], size: O(n^2) [3*z + 2*z*z' + z' + z'^2] ---------------------------------------- (233) ResultPropagationProof (UPPER BOUND(ID)) Applied inner abstraction using the recently inferred runtime/size bounds where possible. ---------------------------------------- (234) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 1 + z1 }-> 1 + s208 :|: s208 >= 0, s208 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 FSTSPLIT(z, z') -{ 1 + z2 }-> 1 + s209 :|: s209 >= 0, s209 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s245, 1 + (1 + z13 + s277) + z', z'', z6, z7, 1 + (z8 - 1)) + s295 :|: s295 >= 0, s295 <= 0, s277 >= 0, s277 <= z2', s245 >= 0, s245 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z13 + z2' }-> 1 + RING(s246, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s296 :|: s296 >= 0, s296 <= 0, s246 >= 0, s246 <= z2', z9 = 1, z2' >= 0, z7 >= 0, z13 >= 0, z'' >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z = 1 + z13 + z2' IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s247, 1 + (1 + z15 + s279) + z', z'', z6, z7, 1 + (z8 - 1)) + s212 :|: s279 >= 0, s279 <= z21, s247 >= 0, s247 <= z21, s212 >= 0, s212 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z15 + z21 }-> 1 + RING(s248, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s213 :|: s248 >= 0, s248 <= z21, s213 >= 0, s213 <= 0, z9 = 1, z8 - 1 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z21 >= 0, z15 >= 0, z' >= 0, z = 1 + z15 + z21 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s210 :|: s210 >= 0, s210 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(z, 1 + 0 + z', z'', z6, z7, 0) + s293 :|: s293 >= 0, s293 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s216 :|: s216 >= 0, s216 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, z8) + s299 :|: s299 >= 0, s299 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s214 :|: s214 >= 0, s214 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 + z }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 0) + s297 :|: s297 >= 0, s297 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s211 :|: s211 >= 0, s211 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(0, 1 + 0 + z', z'', z6, z7, 1 + (z8 - 1)) + s294 :|: s294 >= 0, s294 <= 0, z9 = 1, z' >= 0, z7 >= 0, z8 - 1 >= 0, z = 0, z'' >= 0, z6 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z14 + z2'' }-> 1 + RING(0, 1 + (1 + z14 + s278) + z', z'', z6, z7, 1 + (z8 - 1)) + s298 :|: s298 >= 0, s298 <= 0, s278 >= 0, s278 <= z2'', z = 1 + z14 + z2'', z9 = 1, z8 - 1 >= 0, z7 >= 0, z2'' >= 0, z14 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 2 + z16 + z22 }-> 1 + RING(0, 1 + (1 + z16 + s280) + z', z'', z6, z7, 1 + (z8 - 1)) + s215 :|: s280 >= 0, s280 <= z22, s215 >= 0, s215 <= 0, z9 = 1, z16 >= 0, z7 >= 0, z22 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z = 1 + z16 + z22, z8 - 1 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 2) + s237 :|: s237 >= 0, s237 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, z8, 0) + s236 :|: s236 >= 0, s236 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 2) + s232 :|: s232 >= 0, s232 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + IF_3(z, z', z'', z6, z7, 0, 0) + s231 :|: s231 >= 0, s231 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 2) + s234 :|: s234 >= 0, s234 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, 0 = 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z, z', 0, z6, z7, 1 + (z8 - 1), 0) + s233 :|: s233 >= 0, s233 <= 0, z'' = 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 2 + z117 + z29 }-> 1 + IF_3(z, z', 1 + z117 + z29, z6, z7, 1 + (z8 - 1), s289) + s235 :|: s288 >= 0, s288 <= z29, s289 >= 0, s289 <= 2, s235 >= 0, s235 <= 0, z'' = 1 + z117 + z29, z117 >= 0, z >= 0, z7 >= 0, z8 - 1 >= 0, z6 >= 0, z' >= 0, z9 = 2, z29 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s544 + s546 }-> 1 + IF_4(z, z', z'', z6, z7, z8, s542) + s545 + s547 + s22 :|: s539 >= 0, s539 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s540 >= 0, s540 <= s539 + z'', s541 >= 0, s541 <= s540, s542 >= 0, s542 <= 2, s543 >= 0, s543 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s544 >= 0, s544 <= s543 + z'', s545 >= 0, s545 <= 0, s546 >= 0, s546 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s547 >= 0, s547 <= 0, s22 >= 0, s22 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s409 + s411 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s407) + s410 + s412 + s7 :|: s404 >= 0, s404 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s405 >= 0, s405 <= s404 + z'', s406 >= 0, s406 <= s405, s407 >= 0, s407 <= 2, s408 >= 0, s408 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s409 >= 0, s409 <= s408 + z'', s410 >= 0, s410 <= 0, s411 >= 0, s411 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s412 >= 0, s412 <= 0, s7 >= 0, s7 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s418 + s420 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s416) + s419 + s421 + s8 :|: s413 >= 0, s413 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s414 >= 0, s414 <= s413 + z'', s415 >= 0, s415 <= s414, s416 >= 0, s416 <= 2, s417 >= 0, s417 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s418 >= 0, s418 <= s417 + z'', s419 >= 0, s419 <= 0, s420 >= 0, s420 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s421 >= 0, s421 <= 0, s8 >= 0, s8 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s427 + s429 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s425) + s428 + s430 + s9 :|: s422 >= 0, s422 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s423 >= 0, s423 <= s422 + z'', s424 >= 0, s424 <= s423, s425 >= 0, s425 <= 2, s426 >= 0, s426 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s427 >= 0, s427 <= s426 + z'', s428 >= 0, s428 <= 0, s429 >= 0, s429 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s430 >= 0, s430 <= 0, s9 >= 0, s9 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s436 + s438 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s434) + s437 + s439 + s10 :|: s431 >= 0, s431 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s432 >= 0, s432 <= s431 + z'', s433 >= 0, s433 <= s432, s434 >= 0, s434 <= 2, s435 >= 0, s435 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s436 >= 0, s436 <= s435 + z'', s437 >= 0, s437 <= 0, s438 >= 0, s438 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s439 >= 0, s439 <= 0, s10 >= 0, s10 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s445 + s447 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s443) + s446 + s448 + s11 :|: s440 >= 0, s440 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s441 >= 0, s441 <= s440 + z'', s442 >= 0, s442 <= s441, s443 >= 0, s443 <= 2, s444 >= 0, s444 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s445 >= 0, s445 <= s444 + z'', s446 >= 0, s446 <= 0, s447 >= 0, s447 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s448 >= 0, s448 <= 0, s11 >= 0, s11 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s454 + s456 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s452) + s455 + s457 + s12 :|: s449 >= 0, s449 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s450 >= 0, s450 <= s449 + z'', s451 >= 0, s451 <= s450, s452 >= 0, s452 <= 2, s453 >= 0, s453 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s454 >= 0, s454 <= s453 + z'', s455 >= 0, s455 <= 0, s456 >= 0, s456 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s457 >= 0, s457 <= 0, s12 >= 0, s12 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s463 + s465 + z029 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s461) + s464 + s466 + s13 :|: s458 >= 0, s458 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s459 >= 0, s459 <= s458 + z'', s460 >= 0, s460 <= s459, s461 >= 0, s461 <= 2, s462 >= 0, s462 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s463 >= 0, s463 <= s462 + z'', s464 >= 0, s464 <= 0, s465 >= 0, s465 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s466 >= 0, s466 <= 0, s13 >= 0, s13 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s472 + s474 }-> 1 + IF_4(z, 1 + z029 + z118, z'', z6, z7, z8, s470) + s473 + s475 + s14 :|: s467 >= 0, s467 <= 2 * (z029 * 1) + 3 * 1 + z029 * z029 + z029, s468 >= 0, s468 <= s467 + z'', s469 >= 0, s469 <= s468, s470 >= 0, s470 <= 2, s471 >= 0, s471 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s472 >= 0, s472 <= s471 + z'', s473 >= 0, s473 <= 0, s474 >= 0, s474 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s475 >= 0, s475 <= 0, s14 >= 0, s14 <= 0, z9 = 1, z029 >= 0, z8 >= 0, z' = 1 + z029 + z118, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z118 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s481 + s483 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, s479) + s482 + s484 + s15 :|: s476 >= 0, s476 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s477 >= 0, s477 <= s476 + z'', s478 >= 0, s478 <= s477, s479 >= 0, s479 <= 2, s480 >= 0, s480 <= 2 * (z030 * 1) + 3 * 1 + z030 * z030 + z030, s481 >= 0, s481 <= s480 + z'', s482 >= 0, s482 <= 0, s483 >= 0, s483 <= 2 * (z030 * 1) + 3 * 1 + z030 * z030 + z030, s484 >= 0, s484 <= 0, s15 >= 0, s15 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s490 + s492 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, s488) + s491 + s493 + s16 :|: s485 >= 0, s485 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s486 >= 0, s486 <= s485 + z'', s487 >= 0, s487 <= s486, s488 >= 0, s488 <= 2, s489 >= 0, s489 <= 2 * (z030 * 1) + 3 * 1 + z030 * z030 + z030, s490 >= 0, s490 <= s489 + z'', s491 >= 0, s491 <= 0, s492 >= 0, s492 <= 2 * (z030 * 1) + 3 * 1 + z030 * z030 + z030, s493 >= 0, s493 <= 0, s16 >= 0, s16 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s499 + s501 + z030 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, s497) + s500 + s502 + s17 :|: s494 >= 0, s494 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s495 >= 0, s495 <= s494 + z'', s496 >= 0, s496 <= s495, s497 >= 0, s497 <= 2, s498 >= 0, s498 <= 2 * (z030 * 1) + 3 * 1 + z030 * z030 + z030, s499 >= 0, s499 <= s498 + z'', s500 >= 0, s500 <= 0, s501 >= 0, s501 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s502 >= 0, s502 <= 0, s17 >= 0, s17 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s508 + s510 }-> 1 + IF_4(z, 1 + z030 + z119, z'', z6, z7, z8, s506) + s509 + s511 + s18 :|: s503 >= 0, s503 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s504 >= 0, s504 <= s503 + z'', s505 >= 0, s505 <= s504, s506 >= 0, s506 <= 2, s507 >= 0, s507 <= 2 * (z030 * 1) + 3 * 1 + z030 * z030 + z030, s508 >= 0, s508 <= s507 + z'', s509 >= 0, s509 <= 0, s510 >= 0, s510 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s511 >= 0, s511 <= 0, s18 >= 0, s18 <= 0, z9 = 1, z8 >= 0, z119 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z030 + z119, z030 >= 0 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s517 + s519 + z031 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, s515) + s518 + s520 + s19 :|: s512 >= 0, s512 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s513 >= 0, s513 <= s512 + z'', s514 >= 0, s514 <= s513, s515 >= 0, s515 <= 2, s516 >= 0, s516 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s517 >= 0, s517 <= s516 + z'', s518 >= 0, s518 <= 0, s519 >= 0, s519 <= 2 * (z031 * 1) + 3 * 1 + z031 * z031 + z031, s520 >= 0, s520 <= 0, s19 >= 0, s19 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s526 + s528 }-> 1 + IF_4(z, 1 + z031 + z120, z'', z6, z7, z8, s524) + s527 + s529 + s20 :|: s521 >= 0, s521 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s522 >= 0, s522 <= s521 + z'', s523 >= 0, s523 <= s522, s524 >= 0, s524 <= 2, s525 >= 0, s525 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s526 >= 0, s526 <= s525 + z'', s527 >= 0, s527 <= 0, s528 >= 0, s528 <= 2 * (z031 * 1) + 3 * 1 + z031 * z031 + z031, s529 >= 0, s529 <= 0, s20 >= 0, s20 <= 0, z9 = 1, z120 >= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z031 >= 0, z' = 1 + z031 + z120 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 + s535 + s537 + z032 }-> 1 + IF_4(z, 1 + z032 + z121, z'', z6, z7, z8, s533) + s536 + s538 + s21 :|: s530 >= 0, s530 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s531 >= 0, s531 <= s530 + z'', s532 >= 0, s532 <= s531, s533 >= 0, s533 <= 2, s534 >= 0, s534 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s535 >= 0, s535 <= s534 + z'', s536 >= 0, s536 <= 0, s537 >= 0, s537 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s538 >= 0, s538 <= 0, s21 >= 0, s21 <= 0, z9 = 1, z8 >= 0, z032 >= 0, z >= 0, z7 >= 0, z' = 1 + z032 + z121, z'' >= 0, z6 >= 0, z121 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s249, 1 + (1 + z17 + s281) + z6, z7, 1 + (z8 - 1)) + s302 :|: s302 >= 0, s302 <= 0, s281 >= 0, s281 <= z23, s249 >= 0, s249 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z17 + z23 }-> 1 + RING(z, z', s250, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s303 :|: s303 >= 0, s303 <= 0, s250 >= 0, s250 <= z23, z9 = 1, z17 >= 0, z23 >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z17 + z23, z8 - 1 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s251, 1 + (1 + z19 + s283) + z6, z7, 1 + (z8 - 1)) + s219 :|: s283 >= 0, s283 <= z25, s251 >= 0, s251 <= z25, s219 >= 0, s219 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z19 + z25 }-> 1 + RING(z, z', s252, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s220 :|: s252 >= 0, s252 <= z25, s220 >= 0, s220 <= 0, z9 = 1, z25 >= 0, z19 >= 0, z >= 0, z8 - 1 >= 0, z7 >= 0, z6 >= 0, z' >= 0, z'' = 1 + z19 + z25 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s217 :|: s217 >= 0, s217 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', z'', 1 + 0 + z6, z7, 0) + s300 :|: s300 >= 0, s300 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s223 :|: s223 >= 0, s223 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, z8) + s306 :|: s306 >= 0, s306 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s221 :|: s221 >= 0, s221 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 + z'' }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 0) + s304 :|: s304 >= 0, s304 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s218 :|: s218 >= 0, s218 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', 0, 1 + 0 + z6, z7, 1 + (z8 - 1)) + s301 :|: s301 >= 0, s301 <= 0, z'' = 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 >= 0, z6 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z110 + z26 }-> 1 + RING(z, z', 0, 1 + (1 + z110 + s284) + z6, z7, 1 + (z8 - 1)) + s222 :|: s284 >= 0, s284 <= z26, s222 >= 0, s222 <= 0, z9 = 1, z'' = 1 + z110 + z26, z >= 0, z7 >= 0, z6 >= 0, z8 - 1 >= 0, z' >= 0, z110 >= 0, z26 >= 0 IF_3(z, z', z'', z6, z7, z8, z9) -{ 2 + z18 + z24 }-> 1 + RING(z, z', 0, 1 + (1 + z18 + s282) + z6, z7, 1 + (z8 - 1)) + s305 :|: s305 >= 0, s305 <= 0, s282 >= 0, s282 <= z24, z9 = 1, z >= 0, z7 >= 0, z24 >= 0, z6 >= 0, z18 >= 0, z' >= 0, z'' = 1 + z18 + z24, z8 - 1 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, s327, 1 + s330 + z6, z7, z8) :|: s325 >= 0, s325 <= 2 * (z033 * 1) + 3 * 1 + z033 * z033 + z033, s326 >= 0, s326 <= s325 + z'', s327 >= 0, s327 <= s326, s328 >= 0, s328 <= 2 * (z033 * 1) + 3 * 1 + z033 * z033 + z033, s329 >= 0, s329 <= s328 + z'', s330 >= 0, s330 <= s329, z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, s333, 1 + s336 + z6, z7, z8) :|: s331 >= 0, s331 <= 2 * (z033 * 1) + 3 * 1 + z033 * z033 + z033, s332 >= 0, s332 <= s331 + z'', s333 >= 0, s333 <= s332, s334 >= 0, s334 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s335 >= 0, s335 <= s334 + z'', s336 >= 0, s336 <= s335, z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, s339, 1 + s342 + z6, z7, z8) :|: s337 >= 0, s337 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s338 >= 0, s338 <= s337 + z'', s339 >= 0, s339 <= s338, s340 >= 0, s340 <= 2 * (z033 * 1) + 3 * 1 + z033 * z033 + z033, s341 >= 0, s341 <= s340 + z'', s342 >= 0, s342 <= s341, z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z122, s345, 1 + s348 + z6, z7, z8) :|: s343 >= 0, s343 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s344 >= 0, s344 <= s343 + z'', s345 >= 0, s345 <= s344, s346 >= 0, s346 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s347 >= 0, s347 <= s346 + z'', s348 >= 0, s348 <= s347, z9 = 1, z8 >= 0, z' = 1 + z033 + z122, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z033 >= 0, z122 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, s351, 1 + s354 + z6, z7, z8) :|: s349 >= 0, s349 <= 2 * (z034 * 1) + 3 * 1 + z034 * z034 + z034, s350 >= 0, s350 <= s349 + z'', s351 >= 0, s351 <= s350, s352 >= 0, s352 <= 2 * (z034 * 1) + 3 * 1 + z034 * z034 + z034, s353 >= 0, s353 <= s352 + z'', s354 >= 0, s354 <= s353, z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, s357, 1 + s360 + z6, z7, z8) :|: s355 >= 0, s355 <= 2 * (z034 * 1) + 3 * 1 + z034 * z034 + z034, s356 >= 0, s356 <= s355 + z'', s357 >= 0, s357 <= s356, s358 >= 0, s358 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s359 >= 0, s359 <= s358 + z'', s360 >= 0, s360 <= s359, z9 = 1, z8 >= 0, z123 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z034 >= 0, z' = 1 + z034 + z123 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, s363, 1 + s366 + z6, z7, z8) :|: s361 >= 0, s361 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s362 >= 0, s362 <= s361 + z'', s363 >= 0, s363 <= s362, s364 >= 0, s364 <= 2 * (z035 * 1) + 3 * 1 + z035 * z035 + z035, s365 >= 0, s365 <= s364 + z'', s366 >= 0, s366 <= s365, z9 = 1, z8 >= 0, z035 >= 0, z >= 0, z7 >= 0, z' = 1 + z035 + z124, z'' >= 0, z6 >= 0, z124 >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, s369, 1 + s372 + z6, z7, z8) :|: s367 >= 0, s367 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s368 >= 0, s368 <= s367 + z'', s369 >= 0, s369 <= s368, s370 >= 0, s370 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s371 >= 0, s371 <= s370 + z'', s372 >= 0, s372 <= s371, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1392 + s1394 }-> 1 + RING(z, z1', s1387, 1 + s1390 + z6, z7, z8) + s1393 + s1395 + s102 :|: s1385 >= 0, s1385 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1386 >= 0, s1386 <= s1385 + z'', s1387 >= 0, s1387 <= s1386, s1388 >= 0, s1388 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1389 >= 0, s1389 <= s1388 + z'', s1390 >= 0, s1390 <= s1389, s1391 >= 0, s1391 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1392 >= 0, s1392 <= s1391 + z'', s1393 >= 0, s1393 <= 0, s1394 >= 0, s1394 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1395 >= 0, s1395 <= 0, s102 >= 0, s102 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2096 + s2098 }-> 1 + RING(z, z1', s2091, 1 + s2094 + z6, z7, z8) + s2097 + s2099 + s166 :|: s2089 >= 0, s2089 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2090 >= 0, s2090 <= s2089 + z'', s2091 >= 0, s2091 <= s2090, s2092 >= 0, s2092 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2093 >= 0, s2093 <= s2092 + z'', s2094 >= 0, s2094 <= s2093, s2095 >= 0, s2095 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2096 >= 0, s2096 <= s2095 + z'', s2097 >= 0, s2097 <= 0, s2098 >= 0, s2098 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2099 >= 0, s2099 <= 0, s166 >= 0, s166 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1040 + s1042 }-> 1 + RING(z, z1'', s1035, 1 + s1038 + z6, z7, z8) + s1041 + s1043 + s70 :|: s1033 >= 0, s1033 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1034 >= 0, s1034 <= s1033 + z'', s1035 >= 0, s1035 <= s1034, s1036 >= 0, s1036 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1037 >= 0, s1037 <= s1036 + z'', s1038 >= 0, s1038 <= s1037, s1039 >= 0, s1039 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1040 >= 0, s1040 <= s1039 + z'', s1041 >= 0, s1041 <= 0, s1042 >= 0, s1042 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1043 >= 0, s1043 <= 0, s70 >= 0, s70 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1216 + s1218 }-> 1 + RING(z, z1'', s1211, 1 + s1214 + z6, z7, z8) + s1217 + s1219 + s86 :|: s1209 >= 0, s1209 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1210 >= 0, s1210 <= s1209 + z'', s1211 >= 0, s1211 <= s1210, s1212 >= 0, s1212 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1213 >= 0, s1213 <= s1212 + z'', s1214 >= 0, s1214 <= s1213, s1215 >= 0, s1215 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1216 >= 0, s1216 <= s1215 + z'', s1217 >= 0, s1217 <= 0, s1218 >= 0, s1218 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1219 >= 0, s1219 <= 0, s86 >= 0, s86 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1304 + s1306 }-> 1 + RING(z, z1'', s1299, 1 + s1302 + z6, z7, z8) + s1305 + s1307 + s94 :|: s1297 >= 0, s1297 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1298 >= 0, s1298 <= s1297 + z'', s1299 >= 0, s1299 <= s1298, s1300 >= 0, s1300 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1301 >= 0, s1301 <= s1300 + z'', s1302 >= 0, s1302 <= s1301, s1303 >= 0, s1303 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1304 >= 0, s1304 <= s1303 + z'', s1305 >= 0, s1305 <= 0, s1306 >= 0, s1306 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1307 >= 0, s1307 <= 0, s94 >= 0, s94 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1348 + s1350 }-> 1 + RING(z, z1'', s1343, 1 + s1346 + z6, z7, z8) + s1349 + s1351 + s98 :|: s1341 >= 0, s1341 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1342 >= 0, s1342 <= s1341 + z'', s1343 >= 0, s1343 <= s1342, s1344 >= 0, s1344 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1345 >= 0, s1345 <= s1344 + z'', s1346 >= 0, s1346 <= s1345, s1347 >= 0, s1347 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1348 >= 0, s1348 <= s1347 + z'', s1349 >= 0, s1349 <= 0, s1350 >= 0, s1350 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1351 >= 0, s1351 <= 0, s98 >= 0, s98 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1370 + s1372 + z0' }-> 1 + RING(z, z1'', s1365, 1 + s1368 + z6, z7, z8) + s1371 + s1373 + s100 :|: s1363 >= 0, s1363 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1364 >= 0, s1364 <= s1363 + z'', s1365 >= 0, s1365 <= s1364, s1366 >= 0, s1366 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1367 >= 0, s1367 <= s1366 + z'', s1368 >= 0, s1368 <= s1367, s1369 >= 0, s1369 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1370 >= 0, s1370 <= s1369 + z'', s1371 >= 0, s1371 <= 0, s1372 >= 0, s1372 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1373 >= 0, s1373 <= 0, s100 >= 0, s100 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1744 + s1746 }-> 1 + RING(z, z1'', s1739, 1 + s1742 + z6, z7, z8) + s1745 + s1747 + s134 :|: s1737 >= 0, s1737 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1738 >= 0, s1738 <= s1737 + z'', s1739 >= 0, s1739 <= s1738, s1740 >= 0, s1740 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1741 >= 0, s1741 <= s1740 + z'', s1742 >= 0, s1742 <= s1741, s1743 >= 0, s1743 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1744 >= 0, s1744 <= s1743 + z'', s1745 >= 0, s1745 <= 0, s1746 >= 0, s1746 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1747 >= 0, s1747 <= 0, s134 >= 0, s134 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1920 + s1922 }-> 1 + RING(z, z1'', s1915, 1 + s1918 + z6, z7, z8) + s1921 + s1923 + s150 :|: s1913 >= 0, s1913 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1914 >= 0, s1914 <= s1913 + z'', s1915 >= 0, s1915 <= s1914, s1916 >= 0, s1916 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1917 >= 0, s1917 <= s1916 + z'', s1918 >= 0, s1918 <= s1917, s1919 >= 0, s1919 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1920 >= 0, s1920 <= s1919 + z'', s1921 >= 0, s1921 <= 0, s1922 >= 0, s1922 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1923 >= 0, s1923 <= 0, s150 >= 0, s150 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2008 + s2010 }-> 1 + RING(z, z1'', s2003, 1 + s2006 + z6, z7, z8) + s2009 + s2011 + s158 :|: s2001 >= 0, s2001 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2002 >= 0, s2002 <= s2001 + z'', s2003 >= 0, s2003 <= s2002, s2004 >= 0, s2004 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2005 >= 0, s2005 <= s2004 + z'', s2006 >= 0, s2006 <= s2005, s2007 >= 0, s2007 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s2008 >= 0, s2008 <= s2007 + z'', s2009 >= 0, s2009 <= 0, s2010 >= 0, s2010 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2011 >= 0, s2011 <= 0, s158 >= 0, s158 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2052 + s2054 }-> 1 + RING(z, z1'', s2047, 1 + s2050 + z6, z7, z8) + s2053 + s2055 + s162 :|: s2045 >= 0, s2045 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2046 >= 0, s2046 <= s2045 + z'', s2047 >= 0, s2047 <= s2046, s2048 >= 0, s2048 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2049 >= 0, s2049 <= s2048 + z'', s2050 >= 0, s2050 <= s2049, s2051 >= 0, s2051 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2052 >= 0, s2052 <= s2051 + z'', s2053 >= 0, s2053 <= 0, s2054 >= 0, s2054 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s2055 >= 0, s2055 <= 0, s162 >= 0, s162 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2074 + s2076 + z0' }-> 1 + RING(z, z1'', s2069, 1 + s2072 + z6, z7, z8) + s2075 + s2077 + s164 :|: s2067 >= 0, s2067 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2068 >= 0, s2068 <= s2067 + z'', s2069 >= 0, s2069 <= s2068, s2070 >= 0, s2070 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2071 >= 0, s2071 <= s2070 + z'', s2072 >= 0, s2072 <= s2071, s2073 >= 0, s2073 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2074 >= 0, s2074 <= s2073 + z'', s2075 >= 0, s2075 <= 0, s2076 >= 0, s2076 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2077 >= 0, s2077 <= 0, s164 >= 0, s164 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1018 + s1020 + z0'' }-> 1 + RING(z, z11, s1013, 1 + s1016 + z6, z7, z8) + s1019 + s1021 + s68 :|: s1011 >= 0, s1011 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1012 >= 0, s1012 <= s1011 + z'', s1013 >= 0, s1013 <= s1012, s1014 >= 0, s1014 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1015 >= 0, s1015 <= s1014 + z'', s1016 >= 0, s1016 <= s1015, s1017 >= 0, s1017 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1018 >= 0, s1018 <= s1017 + z'', s1019 >= 0, s1019 <= 0, s1020 >= 0, s1020 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1021 >= 0, s1021 <= 0, s68 >= 0, s68 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1128 + s1130 }-> 1 + RING(z, z11, s1123, 1 + s1126 + z6, z7, z8) + s1129 + s1131 + s78 :|: s1121 >= 0, s1121 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1122 >= 0, s1122 <= s1121 + z'', s1123 >= 0, s1123 <= s1122, s1124 >= 0, s1124 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1125 >= 0, s1125 <= s1124 + z'', s1126 >= 0, s1126 <= s1125, s1127 >= 0, s1127 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1128 >= 0, s1128 <= s1127 + z'', s1129 >= 0, s1129 <= 0, s1130 >= 0, s1130 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1131 >= 0, s1131 <= 0, s78 >= 0, s78 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1172 + s1174 }-> 1 + RING(z, z11, s1167, 1 + s1170 + z6, z7, z8) + s1173 + s1175 + s82 :|: s1165 >= 0, s1165 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1166 >= 0, s1166 <= s1165 + z'', s1167 >= 0, s1167 <= s1166, s1168 >= 0, s1168 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1169 >= 0, s1169 <= s1168 + z'', s1170 >= 0, s1170 <= s1169, s1171 >= 0, s1171 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1172 >= 0, s1172 <= s1171 + z'', s1173 >= 0, s1173 <= 0, s1174 >= 0, s1174 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1175 >= 0, s1175 <= 0, s82 >= 0, s82 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1194 + s1196 + z0'' }-> 1 + RING(z, z11, s1189, 1 + s1192 + z6, z7, z8) + s1195 + s1197 + s84 :|: s1187 >= 0, s1187 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1188 >= 0, s1188 <= s1187 + z'', s1189 >= 0, s1189 <= s1188, s1190 >= 0, s1190 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1191 >= 0, s1191 <= s1190 + z'', s1192 >= 0, s1192 <= s1191, s1193 >= 0, s1193 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1194 >= 0, s1194 <= s1193 + z'', s1195 >= 0, s1195 <= 0, s1196 >= 0, s1196 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1197 >= 0, s1197 <= 0, s84 >= 0, s84 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1260 + s1262 }-> 1 + RING(z, z11, s1255, 1 + s1258 + z6, z7, z8) + s1261 + s1263 + s90 :|: s1253 >= 0, s1253 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1254 >= 0, s1254 <= s1253 + z'', s1255 >= 0, s1255 <= s1254, s1256 >= 0, s1256 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1257 >= 0, s1257 <= s1256 + z'', s1258 >= 0, s1258 <= s1257, s1259 >= 0, s1259 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1260 >= 0, s1260 <= s1259 + z'', s1261 >= 0, s1261 <= 0, s1262 >= 0, s1262 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1263 >= 0, s1263 <= 0, s90 >= 0, s90 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1282 + s1284 + z0'' }-> 1 + RING(z, z11, s1277, 1 + s1280 + z6, z7, z8) + s1283 + s1285 + s92 :|: s1275 >= 0, s1275 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1276 >= 0, s1276 <= s1275 + z'', s1277 >= 0, s1277 <= s1276, s1278 >= 0, s1278 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1279 >= 0, s1279 <= s1278 + z'', s1280 >= 0, s1280 <= s1279, s1281 >= 0, s1281 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1282 >= 0, s1282 <= s1281 + z'', s1283 >= 0, s1283 <= 0, s1284 >= 0, s1284 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1285 >= 0, s1285 <= 0, s92 >= 0, s92 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1326 + s1328 + z0'' }-> 1 + RING(z, z11, s1321, 1 + s1324 + z6, z7, z8) + s1327 + s1329 + s96 :|: s1319 >= 0, s1319 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1320 >= 0, s1320 <= s1319 + z'', s1321 >= 0, s1321 <= s1320, s1322 >= 0, s1322 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1323 >= 0, s1323 <= s1322 + z'', s1324 >= 0, s1324 <= s1323, s1325 >= 0, s1325 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1326 >= 0, s1326 <= s1325 + z'', s1327 >= 0, s1327 <= 0, s1328 >= 0, s1328 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1329 >= 0, s1329 <= 0, s96 >= 0, s96 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1568 + s1570 }-> 1 + RING(z, z11, s1563, 1 + s1566 + z6, z7, z8) + s1569 + s1571 + s118 :|: s1561 >= 0, s1561 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1562 >= 0, s1562 <= s1561 + z'', s1563 >= 0, s1563 <= s1562, s1564 >= 0, s1564 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1565 >= 0, s1565 <= s1564 + z'', s1566 >= 0, s1566 <= s1565, s1567 >= 0, s1567 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1568 >= 0, s1568 <= s1567 + z'', s1569 >= 0, s1569 <= 0, s1570 >= 0, s1570 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1571 >= 0, s1571 <= 0, s118 >= 0, s118 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1656 + s1658 }-> 1 + RING(z, z11, s1651, 1 + s1654 + z6, z7, z8) + s1657 + s1659 + s126 :|: s1649 >= 0, s1649 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1650 >= 0, s1650 <= s1649 + z'', s1651 >= 0, s1651 <= s1650, s1652 >= 0, s1652 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1653 >= 0, s1653 <= s1652 + z'', s1654 >= 0, s1654 <= s1653, s1655 >= 0, s1655 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1656 >= 0, s1656 <= s1655 + z'', s1657 >= 0, s1657 <= 0, s1658 >= 0, s1658 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1659 >= 0, s1659 <= 0, s126 >= 0, s126 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1700 + s1702 }-> 1 + RING(z, z11, s1695, 1 + s1698 + z6, z7, z8) + s1701 + s1703 + s130 :|: s1693 >= 0, s1693 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1694 >= 0, s1694 <= s1693 + z'', s1695 >= 0, s1695 <= s1694, s1696 >= 0, s1696 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1697 >= 0, s1697 <= s1696 + z'', s1698 >= 0, s1698 <= s1697, s1699 >= 0, s1699 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1700 >= 0, s1700 <= s1699 + z'', s1701 >= 0, s1701 <= 0, s1702 >= 0, s1702 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1703 >= 0, s1703 <= 0, s130 >= 0, s130 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1722 + s1724 + z0'' }-> 1 + RING(z, z11, s1717, 1 + s1720 + z6, z7, z8) + s1723 + s1725 + s132 :|: s1715 >= 0, s1715 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1716 >= 0, s1716 <= s1715 + z'', s1717 >= 0, s1717 <= s1716, s1718 >= 0, s1718 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1719 >= 0, s1719 <= s1718 + z'', s1720 >= 0, s1720 <= s1719, s1721 >= 0, s1721 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1722 >= 0, s1722 <= s1721 + z'', s1723 >= 0, s1723 <= 0, s1724 >= 0, s1724 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1725 >= 0, s1725 <= 0, s132 >= 0, s132 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1832 + s1834 }-> 1 + RING(z, z11, s1827, 1 + s1830 + z6, z7, z8) + s1833 + s1835 + s142 :|: s1825 >= 0, s1825 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1826 >= 0, s1826 <= s1825 + z'', s1827 >= 0, s1827 <= s1826, s1828 >= 0, s1828 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1829 >= 0, s1829 <= s1828 + z'', s1830 >= 0, s1830 <= s1829, s1831 >= 0, s1831 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1832 >= 0, s1832 <= s1831 + z'', s1833 >= 0, s1833 <= 0, s1834 >= 0, s1834 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1835 >= 0, s1835 <= 0, s142 >= 0, s142 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1876 + s1878 }-> 1 + RING(z, z11, s1871, 1 + s1874 + z6, z7, z8) + s1877 + s1879 + s146 :|: s1869 >= 0, s1869 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1870 >= 0, s1870 <= s1869 + z'', s1871 >= 0, s1871 <= s1870, s1872 >= 0, s1872 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1873 >= 0, s1873 <= s1872 + z'', s1874 >= 0, s1874 <= s1873, s1875 >= 0, s1875 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1876 >= 0, s1876 <= s1875 + z'', s1877 >= 0, s1877 <= 0, s1878 >= 0, s1878 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1879 >= 0, s1879 <= 0, s146 >= 0, s146 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1898 + s1900 + z0'' }-> 1 + RING(z, z11, s1893, 1 + s1896 + z6, z7, z8) + s1899 + s1901 + s148 :|: s1891 >= 0, s1891 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1892 >= 0, s1892 <= s1891 + z'', s1893 >= 0, s1893 <= s1892, s1894 >= 0, s1894 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1895 >= 0, s1895 <= s1894 + z'', s1896 >= 0, s1896 <= s1895, s1897 >= 0, s1897 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1898 >= 0, s1898 <= s1897 + z'', s1899 >= 0, s1899 <= 0, s1900 >= 0, s1900 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1901 >= 0, s1901 <= 0, s148 >= 0, s148 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1964 + s1966 }-> 1 + RING(z, z11, s1959, 1 + s1962 + z6, z7, z8) + s1965 + s1967 + s154 :|: s1957 >= 0, s1957 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1958 >= 0, s1958 <= s1957 + z'', s1959 >= 0, s1959 <= s1958, s1960 >= 0, s1960 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1961 >= 0, s1961 <= s1960 + z'', s1962 >= 0, s1962 <= s1961, s1963 >= 0, s1963 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1964 >= 0, s1964 <= s1963 + z'', s1965 >= 0, s1965 <= 0, s1966 >= 0, s1966 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1967 >= 0, s1967 <= 0, s154 >= 0, s154 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1986 + s1988 + z0'' }-> 1 + RING(z, z11, s1981, 1 + s1984 + z6, z7, z8) + s1987 + s1989 + s156 :|: s1979 >= 0, s1979 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1980 >= 0, s1980 <= s1979 + z'', s1981 >= 0, s1981 <= s1980, s1982 >= 0, s1982 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1983 >= 0, s1983 <= s1982 + z'', s1984 >= 0, s1984 <= s1983, s1985 >= 0, s1985 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1986 >= 0, s1986 <= s1985 + z'', s1987 >= 0, s1987 <= 0, s1988 >= 0, s1988 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1989 >= 0, s1989 <= 0, s156 >= 0, s156 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2030 + s2032 + z0'' }-> 1 + RING(z, z11, s2025, 1 + s2028 + z6, z7, z8) + s2031 + s2033 + s160 :|: s2023 >= 0, s2023 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2024 >= 0, s2024 <= s2023 + z'', s2025 >= 0, s2025 <= s2024, s2026 >= 0, s2026 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2027 >= 0, s2027 <= s2026 + z'', s2028 >= 0, s2028 <= s2027, s2029 >= 0, s2029 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2030 >= 0, s2030 <= s2029 + z'', s2031 >= 0, s2031 <= 0, s2032 >= 0, s2032 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s2033 >= 0, s2033 <= 0, s160 >= 0, s160 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s864 + s866 }-> 1 + RING(z, z11, s859, 1 + s862 + z6, z7, z8) + s865 + s867 + s54 :|: s857 >= 0, s857 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s858 >= 0, s858 <= s857 + z'', s859 >= 0, s859 <= s858, s860 >= 0, s860 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s861 >= 0, s861 <= s860 + z'', s862 >= 0, s862 <= s861, s863 >= 0, s863 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s864 >= 0, s864 <= s863 + z'', s865 >= 0, s865 <= 0, s866 >= 0, s866 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s867 >= 0, s867 <= 0, s54 >= 0, s54 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s952 + s954 }-> 1 + RING(z, z11, s947, 1 + s950 + z6, z7, z8) + s953 + s955 + s62 :|: s945 >= 0, s945 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s946 >= 0, s946 <= s945 + z'', s947 >= 0, s947 <= s946, s948 >= 0, s948 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s949 >= 0, s949 <= s948 + z'', s950 >= 0, s950 <= s949, s951 >= 0, s951 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s952 >= 0, s952 <= s951 + z'', s953 >= 0, s953 <= 0, s954 >= 0, s954 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s955 >= 0, s955 <= 0, s62 >= 0, s62 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s996 + s998 }-> 1 + RING(z, z11, s991, 1 + s994 + z6, z7, z8) + s997 + s999 + s66 :|: s989 >= 0, s989 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s990 >= 0, s990 <= s989 + z'', s991 >= 0, s991 <= s990, s992 >= 0, s992 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s993 >= 0, s993 <= s992 + z'', s994 >= 0, s994 <= s993, s995 >= 0, s995 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s996 >= 0, s996 <= s995 + z'', s997 >= 0, s997 <= 0, s998 >= 0, s998 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s999 >= 0, s999 <= 0, s66 >= 0, s66 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1084 + s1086 }-> 1 + RING(z, z12, s1079, 1 + s1082 + z6, z7, z8) + s1085 + s1087 + s74 :|: s1077 >= 0, s1077 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1078 >= 0, s1078 <= s1077 + z'', s1079 >= 0, s1079 <= s1078, s1080 >= 0, s1080 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1081 >= 0, s1081 <= s1080 + z'', s1082 >= 0, s1082 <= s1081, s1083 >= 0, s1083 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1084 >= 0, s1084 <= s1083 + z'', s1085 >= 0, s1085 <= 0, s1086 >= 0, s1086 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1087 >= 0, s1087 <= 0, s74 >= 0, s74 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1106 + s1108 + z01 }-> 1 + RING(z, z12, s1101, 1 + s1104 + z6, z7, z8) + s1107 + s1109 + s76 :|: s1099 >= 0, s1099 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1100 >= 0, s1100 <= s1099 + z'', s1101 >= 0, s1101 <= s1100, s1102 >= 0, s1102 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1103 >= 0, s1103 <= s1102 + z'', s1104 >= 0, s1104 <= s1103, s1105 >= 0, s1105 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1106 >= 0, s1106 <= s1105 + z'', s1107 >= 0, s1107 <= 0, s1108 >= 0, s1108 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1109 >= 0, s1109 <= 0, s76 >= 0, s76 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1150 + s1152 + z01 }-> 1 + RING(z, z12, s1145, 1 + s1148 + z6, z7, z8) + s1151 + s1153 + s80 :|: s1143 >= 0, s1143 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1144 >= 0, s1144 <= s1143 + z'', s1145 >= 0, s1145 <= s1144, s1146 >= 0, s1146 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1147 >= 0, s1147 <= s1146 + z'', s1148 >= 0, s1148 <= s1147, s1149 >= 0, s1149 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1150 >= 0, s1150 <= s1149 + z'', s1151 >= 0, s1151 <= 0, s1152 >= 0, s1152 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1153 >= 0, s1153 <= 0, s80 >= 0, s80 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1238 + s1240 + z01 }-> 1 + RING(z, z12, s1233, 1 + s1236 + z6, z7, z8) + s1239 + s1241 + s88 :|: s1231 >= 0, s1231 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1232 >= 0, s1232 <= s1231 + z'', s1233 >= 0, s1233 <= s1232, s1234 >= 0, s1234 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1235 >= 0, s1235 <= s1234 + z'', s1236 >= 0, s1236 <= s1235, s1237 >= 0, s1237 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1238 >= 0, s1238 <= s1237 + z'', s1239 >= 0, s1239 <= 0, s1240 >= 0, s1240 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1241 >= 0, s1241 <= 0, s88 >= 0, s88 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1480 + s1482 }-> 1 + RING(z, z12, s1475, 1 + s1478 + z6, z7, z8) + s1481 + s1483 + s110 :|: s1473 >= 0, s1473 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1474 >= 0, s1474 <= s1473 + z'', s1475 >= 0, s1475 <= s1474, s1476 >= 0, s1476 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1477 >= 0, s1477 <= s1476 + z'', s1478 >= 0, s1478 <= s1477, s1479 >= 0, s1479 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1480 >= 0, s1480 <= s1479 + z'', s1481 >= 0, s1481 <= 0, s1482 >= 0, s1482 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1483 >= 0, s1483 <= 0, s110 >= 0, s110 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1524 + s1526 }-> 1 + RING(z, z12, s1519, 1 + s1522 + z6, z7, z8) + s1525 + s1527 + s114 :|: s1517 >= 0, s1517 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1518 >= 0, s1518 <= s1517 + z'', s1519 >= 0, s1519 <= s1518, s1520 >= 0, s1520 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1521 >= 0, s1521 <= s1520 + z'', s1522 >= 0, s1522 <= s1521, s1523 >= 0, s1523 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1524 >= 0, s1524 <= s1523 + z'', s1525 >= 0, s1525 <= 0, s1526 >= 0, s1526 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1527 >= 0, s1527 <= 0, s114 >= 0, s114 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1546 + s1548 + z01 }-> 1 + RING(z, z12, s1541, 1 + s1544 + z6, z7, z8) + s1547 + s1549 + s116 :|: s1539 >= 0, s1539 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1540 >= 0, s1540 <= s1539 + z'', s1541 >= 0, s1541 <= s1540, s1542 >= 0, s1542 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1543 >= 0, s1543 <= s1542 + z'', s1544 >= 0, s1544 <= s1543, s1545 >= 0, s1545 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1546 >= 0, s1546 <= s1545 + z'', s1547 >= 0, s1547 <= 0, s1548 >= 0, s1548 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1549 >= 0, s1549 <= 0, s116 >= 0, s116 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1612 + s1614 }-> 1 + RING(z, z12, s1607, 1 + s1610 + z6, z7, z8) + s1613 + s1615 + s122 :|: s1605 >= 0, s1605 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1606 >= 0, s1606 <= s1605 + z'', s1607 >= 0, s1607 <= s1606, s1608 >= 0, s1608 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1609 >= 0, s1609 <= s1608 + z'', s1610 >= 0, s1610 <= s1609, s1611 >= 0, s1611 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1612 >= 0, s1612 <= s1611 + z'', s1613 >= 0, s1613 <= 0, s1614 >= 0, s1614 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1615 >= 0, s1615 <= 0, s122 >= 0, s122 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1634 + s1636 + z01 }-> 1 + RING(z, z12, s1629, 1 + s1632 + z6, z7, z8) + s1635 + s1637 + s124 :|: s1627 >= 0, s1627 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1628 >= 0, s1628 <= s1627 + z'', s1629 >= 0, s1629 <= s1628, s1630 >= 0, s1630 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1631 >= 0, s1631 <= s1630 + z'', s1632 >= 0, s1632 <= s1631, s1633 >= 0, s1633 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1634 >= 0, s1634 <= s1633 + z'', s1635 >= 0, s1635 <= 0, s1636 >= 0, s1636 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1637 >= 0, s1637 <= 0, s124 >= 0, s124 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1678 + s1680 + z01 }-> 1 + RING(z, z12, s1673, 1 + s1676 + z6, z7, z8) + s1679 + s1681 + s128 :|: s1671 >= 0, s1671 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1672 >= 0, s1672 <= s1671 + z'', s1673 >= 0, s1673 <= s1672, s1674 >= 0, s1674 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1675 >= 0, s1675 <= s1674 + z'', s1676 >= 0, s1676 <= s1675, s1677 >= 0, s1677 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1678 >= 0, s1678 <= s1677 + z'', s1679 >= 0, s1679 <= 0, s1680 >= 0, s1680 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1681 >= 0, s1681 <= 0, s128 >= 0, s128 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1788 + s1790 }-> 1 + RING(z, z12, s1783, 1 + s1786 + z6, z7, z8) + s1789 + s1791 + s138 :|: s1781 >= 0, s1781 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1782 >= 0, s1782 <= s1781 + z'', s1783 >= 0, s1783 <= s1782, s1784 >= 0, s1784 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1785 >= 0, s1785 <= s1784 + z'', s1786 >= 0, s1786 <= s1785, s1787 >= 0, s1787 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1788 >= 0, s1788 <= s1787 + z'', s1789 >= 0, s1789 <= 0, s1790 >= 0, s1790 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1791 >= 0, s1791 <= 0, s138 >= 0, s138 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1810 + s1812 + z01 }-> 1 + RING(z, z12, s1805, 1 + s1808 + z6, z7, z8) + s1811 + s1813 + s140 :|: s1803 >= 0, s1803 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1804 >= 0, s1804 <= s1803 + z'', s1805 >= 0, s1805 <= s1804, s1806 >= 0, s1806 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1807 >= 0, s1807 <= s1806 + z'', s1808 >= 0, s1808 <= s1807, s1809 >= 0, s1809 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1810 >= 0, s1810 <= s1809 + z'', s1811 >= 0, s1811 <= 0, s1812 >= 0, s1812 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1813 >= 0, s1813 <= 0, s140 >= 0, s140 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1854 + s1856 + z01 }-> 1 + RING(z, z12, s1849, 1 + s1852 + z6, z7, z8) + s1855 + s1857 + s144 :|: s1847 >= 0, s1847 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1848 >= 0, s1848 <= s1847 + z'', s1849 >= 0, s1849 <= s1848, s1850 >= 0, s1850 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1851 >= 0, s1851 <= s1850 + z'', s1852 >= 0, s1852 <= s1851, s1853 >= 0, s1853 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1854 >= 0, s1854 <= s1853 + z'', s1855 >= 0, s1855 <= 0, s1856 >= 0, s1856 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1857 >= 0, s1857 <= 0, s144 >= 0, s144 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1942 + s1944 + z01 }-> 1 + RING(z, z12, s1937, 1 + s1940 + z6, z7, z8) + s1943 + s1945 + s152 :|: s1935 >= 0, s1935 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1936 >= 0, s1936 <= s1935 + z'', s1937 >= 0, s1937 <= s1936, s1938 >= 0, s1938 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1939 >= 0, s1939 <= s1938 + z'', s1940 >= 0, s1940 <= s1939, s1941 >= 0, s1941 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1942 >= 0, s1942 <= s1941 + z'', s1943 >= 0, s1943 <= 0, s1944 >= 0, s1944 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1945 >= 0, s1945 <= 0, s152 >= 0, s152 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s776 + s778 }-> 1 + RING(z, z12, s771, 1 + s774 + z6, z7, z8) + s777 + s779 + s46 :|: s769 >= 0, s769 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s770 >= 0, s770 <= s769 + z'', s771 >= 0, s771 <= s770, s772 >= 0, s772 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s773 >= 0, s773 <= s772 + z'', s774 >= 0, s774 <= s773, s775 >= 0, s775 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s776 >= 0, s776 <= s775 + z'', s777 >= 0, s777 <= 0, s778 >= 0, s778 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s779 >= 0, s779 <= 0, s46 >= 0, s46 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s820 + s822 }-> 1 + RING(z, z12, s815, 1 + s818 + z6, z7, z8) + s821 + s823 + s50 :|: s813 >= 0, s813 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s814 >= 0, s814 <= s813 + z'', s815 >= 0, s815 <= s814, s816 >= 0, s816 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s817 >= 0, s817 <= s816 + z'', s818 >= 0, s818 <= s817, s819 >= 0, s819 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s820 >= 0, s820 <= s819 + z'', s821 >= 0, s821 <= 0, s822 >= 0, s822 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s823 >= 0, s823 <= 0, s50 >= 0, s50 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s842 + s844 + z01 }-> 1 + RING(z, z12, s837, 1 + s840 + z6, z7, z8) + s843 + s845 + s52 :|: s835 >= 0, s835 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s836 >= 0, s836 <= s835 + z'', s837 >= 0, s837 <= s836, s838 >= 0, s838 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s839 >= 0, s839 <= s838 + z'', s840 >= 0, s840 <= s839, s841 >= 0, s841 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s842 >= 0, s842 <= s841 + z'', s843 >= 0, s843 <= 0, s844 >= 0, s844 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s845 >= 0, s845 <= 0, s52 >= 0, s52 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s908 + s910 }-> 1 + RING(z, z12, s903, 1 + s906 + z6, z7, z8) + s909 + s911 + s58 :|: s901 >= 0, s901 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s902 >= 0, s902 <= s901 + z'', s903 >= 0, s903 <= s902, s904 >= 0, s904 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s905 >= 0, s905 <= s904 + z'', s906 >= 0, s906 <= s905, s907 >= 0, s907 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s908 >= 0, s908 <= s907 + z'', s909 >= 0, s909 <= 0, s910 >= 0, s910 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s911 >= 0, s911 <= 0, s58 >= 0, s58 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s930 + s932 + z01 }-> 1 + RING(z, z12, s925, 1 + s928 + z6, z7, z8) + s931 + s933 + s60 :|: s923 >= 0, s923 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s924 >= 0, s924 <= s923 + z'', s925 >= 0, s925 <= s924, s926 >= 0, s926 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s927 >= 0, s927 <= s926 + z'', s928 >= 0, s928 <= s927, s929 >= 0, s929 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s930 >= 0, s930 <= s929 + z'', s931 >= 0, s931 <= 0, s932 >= 0, s932 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s933 >= 0, s933 <= 0, s60 >= 0, s60 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s974 + s976 + z01 }-> 1 + RING(z, z12, s969, 1 + s972 + z6, z7, z8) + s975 + s977 + s64 :|: s967 >= 0, s967 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s968 >= 0, s968 <= s967 + z'', s969 >= 0, s969 <= s968, s970 >= 0, s970 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s971 >= 0, s971 <= s970 + z'', s972 >= 0, s972 <= s971, s973 >= 0, s973 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s974 >= 0, s974 <= s973 + z'', s975 >= 0, s975 <= 0, s976 >= 0, s976 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s977 >= 0, s977 <= 0, s64 >= 0, s64 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1062 + s1064 + z02 }-> 1 + RING(z, z13, s1057, 1 + s1060 + z6, z7, z8) + s1063 + s1065 + s72 :|: s1055 >= 0, s1055 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1056 >= 0, s1056 <= s1055 + z'', s1057 >= 0, s1057 <= s1056, s1058 >= 0, s1058 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1059 >= 0, s1059 <= s1058 + z'', s1060 >= 0, s1060 <= s1059, s1061 >= 0, s1061 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1062 >= 0, s1062 <= s1061 + z'', s1063 >= 0, s1063 <= 0, s1064 >= 0, s1064 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1065 >= 0, s1065 <= 0, s72 >= 0, s72 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1436 + s1438 }-> 1 + RING(z, z13, s1431, 1 + s1434 + z6, z7, z8) + s1437 + s1439 + s106 :|: s1429 >= 0, s1429 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1430 >= 0, s1430 <= s1429 + z'', s1431 >= 0, s1431 <= s1430, s1432 >= 0, s1432 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1433 >= 0, s1433 <= s1432 + z'', s1434 >= 0, s1434 <= s1433, s1435 >= 0, s1435 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1436 >= 0, s1436 <= s1435 + z'', s1437 >= 0, s1437 <= 0, s1438 >= 0, s1438 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s1439 >= 0, s1439 <= 0, s106 >= 0, s106 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1458 + s1460 + z02 }-> 1 + RING(z, z13, s1453, 1 + s1456 + z6, z7, z8) + s1459 + s1461 + s108 :|: s1451 >= 0, s1451 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1452 >= 0, s1452 <= s1451 + z'', s1453 >= 0, s1453 <= s1452, s1454 >= 0, s1454 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1455 >= 0, s1455 <= s1454 + z'', s1456 >= 0, s1456 <= s1455, s1457 >= 0, s1457 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1458 >= 0, s1458 <= s1457 + z'', s1459 >= 0, s1459 <= 0, s1460 >= 0, s1460 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1461 >= 0, s1461 <= 0, s108 >= 0, s108 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1502 + s1504 + z02 }-> 1 + RING(z, z13, s1497, 1 + s1500 + z6, z7, z8) + s1503 + s1505 + s112 :|: s1495 >= 0, s1495 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1496 >= 0, s1496 <= s1495 + z'', s1497 >= 0, s1497 <= s1496, s1498 >= 0, s1498 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1499 >= 0, s1499 <= s1498 + z'', s1500 >= 0, s1500 <= s1499, s1501 >= 0, s1501 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1502 >= 0, s1502 <= s1501 + z'', s1503 >= 0, s1503 <= 0, s1504 >= 0, s1504 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1505 >= 0, s1505 <= 0, s112 >= 0, s112 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1590 + s1592 + z02 }-> 1 + RING(z, z13, s1585, 1 + s1588 + z6, z7, z8) + s1591 + s1593 + s120 :|: s1583 >= 0, s1583 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1584 >= 0, s1584 <= s1583 + z'', s1585 >= 0, s1585 <= s1584, s1586 >= 0, s1586 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1587 >= 0, s1587 <= s1586 + z'', s1588 >= 0, s1588 <= s1587, s1589 >= 0, s1589 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1590 >= 0, s1590 <= s1589 + z'', s1591 >= 0, s1591 <= 0, s1592 >= 0, s1592 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1593 >= 0, s1593 <= 0, s120 >= 0, s120 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1766 + s1768 + z02 }-> 1 + RING(z, z13, s1761, 1 + s1764 + z6, z7, z8) + s1767 + s1769 + s136 :|: s1759 >= 0, s1759 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1760 >= 0, s1760 <= s1759 + z'', s1761 >= 0, s1761 <= s1760, s1762 >= 0, s1762 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1763 >= 0, s1763 <= s1762 + z'', s1764 >= 0, s1764 <= s1763, s1765 >= 0, s1765 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1766 >= 0, s1766 <= s1765 + z'', s1767 >= 0, s1767 <= 0, s1768 >= 0, s1768 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1769 >= 0, s1769 <= 0, s136 >= 0, s136 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s732 + s734 }-> 1 + RING(z, z13, s727, 1 + s730 + z6, z7, z8) + s733 + s735 + s42 :|: s725 >= 0, s725 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s726 >= 0, s726 <= s725 + z'', s727 >= 0, s727 <= s726, s728 >= 0, s728 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s729 >= 0, s729 <= s728 + z'', s730 >= 0, s730 <= s729, s731 >= 0, s731 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s732 >= 0, s732 <= s731 + z'', s733 >= 0, s733 <= 0, s734 >= 0, s734 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s735 >= 0, s735 <= 0, s42 >= 0, s42 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s754 + s756 + z02 }-> 1 + RING(z, z13, s749, 1 + s752 + z6, z7, z8) + s755 + s757 + s44 :|: s747 >= 0, s747 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s748 >= 0, s748 <= s747 + z'', s749 >= 0, s749 <= s748, s750 >= 0, s750 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s751 >= 0, s751 <= s750 + z'', s752 >= 0, s752 <= s751, s753 >= 0, s753 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s754 >= 0, s754 <= s753 + z'', s755 >= 0, s755 <= 0, s756 >= 0, s756 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s757 >= 0, s757 <= 0, s44 >= 0, s44 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s798 + s800 + z02 }-> 1 + RING(z, z13, s793, 1 + s796 + z6, z7, z8) + s799 + s801 + s48 :|: s791 >= 0, s791 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s792 >= 0, s792 <= s791 + z'', s793 >= 0, s793 <= s792, s794 >= 0, s794 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s795 >= 0, s795 <= s794 + z'', s796 >= 0, s796 <= s795, s797 >= 0, s797 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s798 >= 0, s798 <= s797 + z'', s799 >= 0, s799 <= 0, s800 >= 0, s800 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s801 >= 0, s801 <= 0, s48 >= 0, s48 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s886 + s888 + z02 }-> 1 + RING(z, z13, s881, 1 + s884 + z6, z7, z8) + s887 + s889 + s56 :|: s879 >= 0, s879 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s880 >= 0, s880 <= s879 + z'', s881 >= 0, s881 <= s880, s882 >= 0, s882 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s883 >= 0, s883 <= s882 + z'', s884 >= 0, s884 <= s883, s885 >= 0, s885 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s886 >= 0, s886 <= s885 + z'', s887 >= 0, s887 <= 0, s888 >= 0, s888 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s889 >= 0, s889 <= 0, s56 >= 0, s56 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1414 + s1416 + z03 }-> 1 + RING(z, z14, s1409, 1 + s1412 + z6, z7, z8) + s1415 + s1417 + s104 :|: s1407 >= 0, s1407 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1408 >= 0, s1408 <= s1407 + z'', s1409 >= 0, s1409 <= s1408, s1410 >= 0, s1410 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1411 >= 0, s1411 <= s1410 + z'', s1412 >= 0, s1412 <= s1411, s1413 >= 0, s1413 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1414 >= 0, s1414 <= s1413 + z'', s1415 >= 0, s1415 <= 0, s1416 >= 0, s1416 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s1417 >= 0, s1417 <= 0, s104 >= 0, s104 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s710 + s712 + z03 }-> 1 + RING(z, z14, s705, 1 + s708 + z6, z7, z8) + s711 + s713 + s40 :|: s703 >= 0, s703 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s704 >= 0, s704 <= s703 + z'', s705 >= 0, s705 <= s704, s706 >= 0, s706 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s707 >= 0, s707 <= s706 + z'', s708 >= 0, s708 <= s707, s709 >= 0, s709 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s710 >= 0, s710 <= s709 + z'', s711 >= 0, s711 <= 0, s712 >= 0, s712 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s713 >= 0, s713 <= 0, s40 >= 0, s40 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13, z14 >= 0, z04 >= 0, z' = 1 + z04 + z14 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1007 + s1009 + z0'' }-> 1 + RING(z, 0, s1002, 1 + s1005 + z6, z7, z8) + s1008 + s1010 + s67 :|: s1000 >= 0, s1000 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1001 >= 0, s1001 <= s1000 + z'', s1002 >= 0, s1002 <= s1001, s1003 >= 0, s1003 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1004 >= 0, s1004 <= s1003 + z'', s1005 >= 0, s1005 <= s1004, s1006 >= 0, s1006 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1007 >= 0, s1007 <= s1006 + z'', s1008 >= 0, s1008 <= 0, s1009 >= 0, s1009 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1010 >= 0, s1010 <= 0, s67 >= 0, s67 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1029 + s1031 }-> 1 + RING(z, 0, s1024, 1 + s1027 + z6, z7, z8) + s1030 + s1032 + s69 :|: s1022 >= 0, s1022 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1023 >= 0, s1023 <= s1022 + z'', s1024 >= 0, s1024 <= s1023, s1025 >= 0, s1025 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1026 >= 0, s1026 <= s1025 + z'', s1027 >= 0, s1027 <= s1026, s1028 >= 0, s1028 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1029 >= 0, s1029 <= s1028 + z'', s1030 >= 0, s1030 <= 0, s1031 >= 0, s1031 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1032 >= 0, s1032 <= 0, s69 >= 0, s69 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1051 + s1053 + z02 }-> 1 + RING(z, 0, s1046, 1 + s1049 + z6, z7, z8) + s1052 + s1054 + s71 :|: s1044 >= 0, s1044 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1045 >= 0, s1045 <= s1044 + z'', s1046 >= 0, s1046 <= s1045, s1047 >= 0, s1047 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1048 >= 0, s1048 <= s1047 + z'', s1049 >= 0, s1049 <= s1048, s1050 >= 0, s1050 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1051 >= 0, s1051 <= s1050 + z'', s1052 >= 0, s1052 <= 0, s1053 >= 0, s1053 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1054 >= 0, s1054 <= 0, s71 >= 0, s71 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1073 + s1075 }-> 1 + RING(z, 0, s1068, 1 + s1071 + z6, z7, z8) + s1074 + s1076 + s73 :|: s1066 >= 0, s1066 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1067 >= 0, s1067 <= s1066 + z'', s1068 >= 0, s1068 <= s1067, s1069 >= 0, s1069 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1070 >= 0, s1070 <= s1069 + z'', s1071 >= 0, s1071 <= s1070, s1072 >= 0, s1072 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1073 >= 0, s1073 <= s1072 + z'', s1074 >= 0, s1074 <= 0, s1075 >= 0, s1075 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1076 >= 0, s1076 <= 0, s73 >= 0, s73 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1095 + s1097 + z01 }-> 1 + RING(z, 0, s1090, 1 + s1093 + z6, z7, z8) + s1096 + s1098 + s75 :|: s1088 >= 0, s1088 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1089 >= 0, s1089 <= s1088 + z'', s1090 >= 0, s1090 <= s1089, s1091 >= 0, s1091 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1092 >= 0, s1092 <= s1091 + z'', s1093 >= 0, s1093 <= s1092, s1094 >= 0, s1094 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1095 >= 0, s1095 <= s1094 + z'', s1096 >= 0, s1096 <= 0, s1097 >= 0, s1097 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1098 >= 0, s1098 <= 0, s75 >= 0, s75 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1117 + s1119 }-> 1 + RING(z, 0, s1112, 1 + s1115 + z6, z7, z8) + s1118 + s1120 + s77 :|: s1110 >= 0, s1110 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1111 >= 0, s1111 <= s1110 + z'', s1112 >= 0, s1112 <= s1111, s1113 >= 0, s1113 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1114 >= 0, s1114 <= s1113 + z'', s1115 >= 0, s1115 <= s1114, s1116 >= 0, s1116 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1117 >= 0, s1117 <= s1116 + z'', s1118 >= 0, s1118 <= 0, s1119 >= 0, s1119 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1120 >= 0, s1120 <= 0, s77 >= 0, s77 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1139 + s1141 + z01 }-> 1 + RING(z, 0, s1134, 1 + s1137 + z6, z7, z8) + s1140 + s1142 + s79 :|: s1132 >= 0, s1132 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1133 >= 0, s1133 <= s1132 + z'', s1134 >= 0, s1134 <= s1133, s1135 >= 0, s1135 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1136 >= 0, s1136 <= s1135 + z'', s1137 >= 0, s1137 <= s1136, s1138 >= 0, s1138 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1139 >= 0, s1139 <= s1138 + z'', s1140 >= 0, s1140 <= 0, s1141 >= 0, s1141 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1142 >= 0, s1142 <= 0, s79 >= 0, s79 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1161 + s1163 }-> 1 + RING(z, 0, s1156, 1 + s1159 + z6, z7, z8) + s1162 + s1164 + s81 :|: s1154 >= 0, s1154 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1155 >= 0, s1155 <= s1154 + z'', s1156 >= 0, s1156 <= s1155, s1157 >= 0, s1157 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1158 >= 0, s1158 <= s1157 + z'', s1159 >= 0, s1159 <= s1158, s1160 >= 0, s1160 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1161 >= 0, s1161 <= s1160 + z'', s1162 >= 0, s1162 <= 0, s1163 >= 0, s1163 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1164 >= 0, s1164 <= 0, s81 >= 0, s81 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1183 + s1185 + z0'' }-> 1 + RING(z, 0, s1178, 1 + s1181 + z6, z7, z8) + s1184 + s1186 + s83 :|: s1176 >= 0, s1176 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1177 >= 0, s1177 <= s1176 + z'', s1178 >= 0, s1178 <= s1177, s1179 >= 0, s1179 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1180 >= 0, s1180 <= s1179 + z'', s1181 >= 0, s1181 <= s1180, s1182 >= 0, s1182 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1183 >= 0, s1183 <= s1182 + z'', s1184 >= 0, s1184 <= 0, s1185 >= 0, s1185 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1186 >= 0, s1186 <= 0, s83 >= 0, s83 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1205 + s1207 }-> 1 + RING(z, 0, s1200, 1 + s1203 + z6, z7, z8) + s1206 + s1208 + s85 :|: s1198 >= 0, s1198 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1199 >= 0, s1199 <= s1198 + z'', s1200 >= 0, s1200 <= s1199, s1201 >= 0, s1201 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1202 >= 0, s1202 <= s1201 + z'', s1203 >= 0, s1203 <= s1202, s1204 >= 0, s1204 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1205 >= 0, s1205 <= s1204 + z'', s1206 >= 0, s1206 <= 0, s1207 >= 0, s1207 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1208 >= 0, s1208 <= 0, s85 >= 0, s85 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1227 + s1229 + z01 }-> 1 + RING(z, 0, s1222, 1 + s1225 + z6, z7, z8) + s1228 + s1230 + s87 :|: s1220 >= 0, s1220 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1221 >= 0, s1221 <= s1220 + z'', s1222 >= 0, s1222 <= s1221, s1223 >= 0, s1223 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1224 >= 0, s1224 <= s1223 + z'', s1225 >= 0, s1225 <= s1224, s1226 >= 0, s1226 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1227 >= 0, s1227 <= s1226 + z'', s1228 >= 0, s1228 <= 0, s1229 >= 0, s1229 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1230 >= 0, s1230 <= 0, s87 >= 0, s87 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1249 + s1251 }-> 1 + RING(z, 0, s1244, 1 + s1247 + z6, z7, z8) + s1250 + s1252 + s89 :|: s1242 >= 0, s1242 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1243 >= 0, s1243 <= s1242 + z'', s1244 >= 0, s1244 <= s1243, s1245 >= 0, s1245 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1246 >= 0, s1246 <= s1245 + z'', s1247 >= 0, s1247 <= s1246, s1248 >= 0, s1248 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1249 >= 0, s1249 <= s1248 + z'', s1250 >= 0, s1250 <= 0, s1251 >= 0, s1251 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1252 >= 0, s1252 <= 0, s89 >= 0, s89 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1271 + s1273 + z0'' }-> 1 + RING(z, 0, s1266, 1 + s1269 + z6, z7, z8) + s1272 + s1274 + s91 :|: s1264 >= 0, s1264 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1265 >= 0, s1265 <= s1264 + z'', s1266 >= 0, s1266 <= s1265, s1267 >= 0, s1267 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1268 >= 0, s1268 <= s1267 + z'', s1269 >= 0, s1269 <= s1268, s1270 >= 0, s1270 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1271 >= 0, s1271 <= s1270 + z'', s1272 >= 0, s1272 <= 0, s1273 >= 0, s1273 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1274 >= 0, s1274 <= 0, s91 >= 0, s91 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1293 + s1295 }-> 1 + RING(z, 0, s1288, 1 + s1291 + z6, z7, z8) + s1294 + s1296 + s93 :|: s1286 >= 0, s1286 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1287 >= 0, s1287 <= s1286 + z'', s1288 >= 0, s1288 <= s1287, s1289 >= 0, s1289 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1290 >= 0, s1290 <= s1289 + z'', s1291 >= 0, s1291 <= s1290, s1292 >= 0, s1292 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1293 >= 0, s1293 <= s1292 + z'', s1294 >= 0, s1294 <= 0, s1295 >= 0, s1295 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1296 >= 0, s1296 <= 0, s93 >= 0, s93 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1315 + s1317 + z0'' }-> 1 + RING(z, 0, s1310, 1 + s1313 + z6, z7, z8) + s1316 + s1318 + s95 :|: s1308 >= 0, s1308 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1309 >= 0, s1309 <= s1308 + z'', s1310 >= 0, s1310 <= s1309, s1311 >= 0, s1311 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1312 >= 0, s1312 <= s1311 + z'', s1313 >= 0, s1313 <= s1312, s1314 >= 0, s1314 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1315 >= 0, s1315 <= s1314 + z'', s1316 >= 0, s1316 <= 0, s1317 >= 0, s1317 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1318 >= 0, s1318 <= 0, s95 >= 0, s95 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1337 + s1339 }-> 1 + RING(z, 0, s1332, 1 + s1335 + z6, z7, z8) + s1338 + s1340 + s97 :|: s1330 >= 0, s1330 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1331 >= 0, s1331 <= s1330 + z'', s1332 >= 0, s1332 <= s1331, s1333 >= 0, s1333 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1334 >= 0, s1334 <= s1333 + z'', s1335 >= 0, s1335 <= s1334, s1336 >= 0, s1336 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1337 >= 0, s1337 <= s1336 + z'', s1338 >= 0, s1338 <= 0, s1339 >= 0, s1339 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1340 >= 0, s1340 <= 0, s97 >= 0, s97 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1359 + s1361 + z0' }-> 1 + RING(z, 0, s1354, 1 + s1357 + z6, z7, z8) + s1360 + s1362 + s99 :|: s1352 >= 0, s1352 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1353 >= 0, s1353 <= s1352 + z'', s1354 >= 0, s1354 <= s1353, s1355 >= 0, s1355 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1356 >= 0, s1356 <= s1355 + z'', s1357 >= 0, s1357 <= s1356, s1358 >= 0, s1358 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1359 >= 0, s1359 <= s1358 + z'', s1360 >= 0, s1360 <= 0, s1361 >= 0, s1361 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1362 >= 0, s1362 <= 0, s99 >= 0, s99 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1381 + s1383 }-> 1 + RING(z, 0, s1376, 1 + s1379 + z6, z7, z8) + s1382 + s1384 + s101 :|: s1374 >= 0, s1374 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1375 >= 0, s1375 <= s1374 + z'', s1376 >= 0, s1376 <= s1375, s1377 >= 0, s1377 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1378 >= 0, s1378 <= s1377 + z'', s1379 >= 0, s1379 <= s1378, s1380 >= 0, s1380 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1381 >= 0, s1381 <= s1380 + z'', s1382 >= 0, s1382 <= 0, s1383 >= 0, s1383 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1384 >= 0, s1384 <= 0, s101 >= 0, s101 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1403 + s1405 + z03 }-> 1 + RING(z, 0, s1398, 1 + s1401 + z6, z7, z8) + s1404 + s1406 + s103 :|: s1396 >= 0, s1396 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1397 >= 0, s1397 <= s1396 + z'', s1398 >= 0, s1398 <= s1397, s1399 >= 0, s1399 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1400 >= 0, s1400 <= s1399 + z'', s1401 >= 0, s1401 <= s1400, s1402 >= 0, s1402 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1403 >= 0, s1403 <= s1402 + z'', s1404 >= 0, s1404 <= 0, s1405 >= 0, s1405 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s1406 >= 0, s1406 <= 0, s103 >= 0, s103 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1425 + s1427 }-> 1 + RING(z, 0, s1420, 1 + s1423 + z6, z7, z8) + s1426 + s1428 + s105 :|: s1418 >= 0, s1418 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1419 >= 0, s1419 <= s1418 + z'', s1420 >= 0, s1420 <= s1419, s1421 >= 0, s1421 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1422 >= 0, s1422 <= s1421 + z'', s1423 >= 0, s1423 <= s1422, s1424 >= 0, s1424 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1425 >= 0, s1425 <= s1424 + z'', s1426 >= 0, s1426 <= 0, s1427 >= 0, s1427 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s1428 >= 0, s1428 <= 0, s105 >= 0, s105 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1447 + s1449 + z02 }-> 1 + RING(z, 0, s1442, 1 + s1445 + z6, z7, z8) + s1448 + s1450 + s107 :|: s1440 >= 0, s1440 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1441 >= 0, s1441 <= s1440 + z'', s1442 >= 0, s1442 <= s1441, s1443 >= 0, s1443 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1444 >= 0, s1444 <= s1443 + z'', s1445 >= 0, s1445 <= s1444, s1446 >= 0, s1446 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1447 >= 0, s1447 <= s1446 + z'', s1448 >= 0, s1448 <= 0, s1449 >= 0, s1449 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1450 >= 0, s1450 <= 0, s107 >= 0, s107 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1469 + s1471 }-> 1 + RING(z, 0, s1464, 1 + s1467 + z6, z7, z8) + s1470 + s1472 + s109 :|: s1462 >= 0, s1462 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1463 >= 0, s1463 <= s1462 + z'', s1464 >= 0, s1464 <= s1463, s1465 >= 0, s1465 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1466 >= 0, s1466 <= s1465 + z'', s1467 >= 0, s1467 <= s1466, s1468 >= 0, s1468 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1469 >= 0, s1469 <= s1468 + z'', s1470 >= 0, s1470 <= 0, s1471 >= 0, s1471 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1472 >= 0, s1472 <= 0, s109 >= 0, s109 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1491 + s1493 + z02 }-> 1 + RING(z, 0, s1486, 1 + s1489 + z6, z7, z8) + s1492 + s1494 + s111 :|: s1484 >= 0, s1484 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1485 >= 0, s1485 <= s1484 + z'', s1486 >= 0, s1486 <= s1485, s1487 >= 0, s1487 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1488 >= 0, s1488 <= s1487 + z'', s1489 >= 0, s1489 <= s1488, s1490 >= 0, s1490 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1491 >= 0, s1491 <= s1490 + z'', s1492 >= 0, s1492 <= 0, s1493 >= 0, s1493 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1494 >= 0, s1494 <= 0, s111 >= 0, s111 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1513 + s1515 }-> 1 + RING(z, 0, s1508, 1 + s1511 + z6, z7, z8) + s1514 + s1516 + s113 :|: s1506 >= 0, s1506 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1507 >= 0, s1507 <= s1506 + z'', s1508 >= 0, s1508 <= s1507, s1509 >= 0, s1509 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1510 >= 0, s1510 <= s1509 + z'', s1511 >= 0, s1511 <= s1510, s1512 >= 0, s1512 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1513 >= 0, s1513 <= s1512 + z'', s1514 >= 0, s1514 <= 0, s1515 >= 0, s1515 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1516 >= 0, s1516 <= 0, s113 >= 0, s113 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1535 + s1537 + z01 }-> 1 + RING(z, 0, s1530, 1 + s1533 + z6, z7, z8) + s1536 + s1538 + s115 :|: s1528 >= 0, s1528 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1529 >= 0, s1529 <= s1528 + z'', s1530 >= 0, s1530 <= s1529, s1531 >= 0, s1531 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1532 >= 0, s1532 <= s1531 + z'', s1533 >= 0, s1533 <= s1532, s1534 >= 0, s1534 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1535 >= 0, s1535 <= s1534 + z'', s1536 >= 0, s1536 <= 0, s1537 >= 0, s1537 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1538 >= 0, s1538 <= 0, s115 >= 0, s115 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1557 + s1559 }-> 1 + RING(z, 0, s1552, 1 + s1555 + z6, z7, z8) + s1558 + s1560 + s117 :|: s1550 >= 0, s1550 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1551 >= 0, s1551 <= s1550 + z'', s1552 >= 0, s1552 <= s1551, s1553 >= 0, s1553 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1554 >= 0, s1554 <= s1553 + z'', s1555 >= 0, s1555 <= s1554, s1556 >= 0, s1556 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1557 >= 0, s1557 <= s1556 + z'', s1558 >= 0, s1558 <= 0, s1559 >= 0, s1559 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1560 >= 0, s1560 <= 0, s117 >= 0, s117 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1579 + s1581 + z02 }-> 1 + RING(z, 0, s1574, 1 + s1577 + z6, z7, z8) + s1580 + s1582 + s119 :|: s1572 >= 0, s1572 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1573 >= 0, s1573 <= s1572 + z'', s1574 >= 0, s1574 <= s1573, s1575 >= 0, s1575 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1576 >= 0, s1576 <= s1575 + z'', s1577 >= 0, s1577 <= s1576, s1578 >= 0, s1578 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1579 >= 0, s1579 <= s1578 + z'', s1580 >= 0, s1580 <= 0, s1581 >= 0, s1581 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1582 >= 0, s1582 <= 0, s119 >= 0, s119 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1601 + s1603 }-> 1 + RING(z, 0, s1596, 1 + s1599 + z6, z7, z8) + s1602 + s1604 + s121 :|: s1594 >= 0, s1594 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1595 >= 0, s1595 <= s1594 + z'', s1596 >= 0, s1596 <= s1595, s1597 >= 0, s1597 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1598 >= 0, s1598 <= s1597 + z'', s1599 >= 0, s1599 <= s1598, s1600 >= 0, s1600 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1601 >= 0, s1601 <= s1600 + z'', s1602 >= 0, s1602 <= 0, s1603 >= 0, s1603 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1604 >= 0, s1604 <= 0, s121 >= 0, s121 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1623 + s1625 + z01 }-> 1 + RING(z, 0, s1618, 1 + s1621 + z6, z7, z8) + s1624 + s1626 + s123 :|: s1616 >= 0, s1616 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1617 >= 0, s1617 <= s1616 + z'', s1618 >= 0, s1618 <= s1617, s1619 >= 0, s1619 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1620 >= 0, s1620 <= s1619 + z'', s1621 >= 0, s1621 <= s1620, s1622 >= 0, s1622 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1623 >= 0, s1623 <= s1622 + z'', s1624 >= 0, s1624 <= 0, s1625 >= 0, s1625 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1626 >= 0, s1626 <= 0, s123 >= 0, s123 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1645 + s1647 }-> 1 + RING(z, 0, s1640, 1 + s1643 + z6, z7, z8) + s1646 + s1648 + s125 :|: s1638 >= 0, s1638 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1639 >= 0, s1639 <= s1638 + z'', s1640 >= 0, s1640 <= s1639, s1641 >= 0, s1641 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1642 >= 0, s1642 <= s1641 + z'', s1643 >= 0, s1643 <= s1642, s1644 >= 0, s1644 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1645 >= 0, s1645 <= s1644 + z'', s1646 >= 0, s1646 <= 0, s1647 >= 0, s1647 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1648 >= 0, s1648 <= 0, s125 >= 0, s125 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1667 + s1669 + z01 }-> 1 + RING(z, 0, s1662, 1 + s1665 + z6, z7, z8) + s1668 + s1670 + s127 :|: s1660 >= 0, s1660 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1661 >= 0, s1661 <= s1660 + z'', s1662 >= 0, s1662 <= s1661, s1663 >= 0, s1663 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1664 >= 0, s1664 <= s1663 + z'', s1665 >= 0, s1665 <= s1664, s1666 >= 0, s1666 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1667 >= 0, s1667 <= s1666 + z'', s1668 >= 0, s1668 <= 0, s1669 >= 0, s1669 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1670 >= 0, s1670 <= 0, s127 >= 0, s127 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1689 + s1691 }-> 1 + RING(z, 0, s1684, 1 + s1687 + z6, z7, z8) + s1690 + s1692 + s129 :|: s1682 >= 0, s1682 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1683 >= 0, s1683 <= s1682 + z'', s1684 >= 0, s1684 <= s1683, s1685 >= 0, s1685 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1686 >= 0, s1686 <= s1685 + z'', s1687 >= 0, s1687 <= s1686, s1688 >= 0, s1688 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1689 >= 0, s1689 <= s1688 + z'', s1690 >= 0, s1690 <= 0, s1691 >= 0, s1691 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1692 >= 0, s1692 <= 0, s129 >= 0, s129 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1711 + s1713 + z0'' }-> 1 + RING(z, 0, s1706, 1 + s1709 + z6, z7, z8) + s1712 + s1714 + s131 :|: s1704 >= 0, s1704 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1705 >= 0, s1705 <= s1704 + z'', s1706 >= 0, s1706 <= s1705, s1707 >= 0, s1707 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1708 >= 0, s1708 <= s1707 + z'', s1709 >= 0, s1709 <= s1708, s1710 >= 0, s1710 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1711 >= 0, s1711 <= s1710 + z'', s1712 >= 0, s1712 <= 0, s1713 >= 0, s1713 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1714 >= 0, s1714 <= 0, s131 >= 0, s131 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1733 + s1735 }-> 1 + RING(z, 0, s1728, 1 + s1731 + z6, z7, z8) + s1734 + s1736 + s133 :|: s1726 >= 0, s1726 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1727 >= 0, s1727 <= s1726 + z'', s1728 >= 0, s1728 <= s1727, s1729 >= 0, s1729 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1730 >= 0, s1730 <= s1729 + z'', s1731 >= 0, s1731 <= s1730, s1732 >= 0, s1732 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1733 >= 0, s1733 <= s1732 + z'', s1734 >= 0, s1734 <= 0, s1735 >= 0, s1735 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1736 >= 0, s1736 <= 0, s133 >= 0, s133 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1755 + s1757 + z02 }-> 1 + RING(z, 0, s1750, 1 + s1753 + z6, z7, z8) + s1756 + s1758 + s135 :|: s1748 >= 0, s1748 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1749 >= 0, s1749 <= s1748 + z'', s1750 >= 0, s1750 <= s1749, s1751 >= 0, s1751 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1752 >= 0, s1752 <= s1751 + z'', s1753 >= 0, s1753 <= s1752, s1754 >= 0, s1754 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1755 >= 0, s1755 <= s1754 + z'', s1756 >= 0, s1756 <= 0, s1757 >= 0, s1757 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1758 >= 0, s1758 <= 0, s135 >= 0, s135 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1777 + s1779 }-> 1 + RING(z, 0, s1772, 1 + s1775 + z6, z7, z8) + s1778 + s1780 + s137 :|: s1770 >= 0, s1770 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1771 >= 0, s1771 <= s1770 + z'', s1772 >= 0, s1772 <= s1771, s1773 >= 0, s1773 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1774 >= 0, s1774 <= s1773 + z'', s1775 >= 0, s1775 <= s1774, s1776 >= 0, s1776 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1777 >= 0, s1777 <= s1776 + z'', s1778 >= 0, s1778 <= 0, s1779 >= 0, s1779 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s1780 >= 0, s1780 <= 0, s137 >= 0, s137 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1799 + s1801 + z01 }-> 1 + RING(z, 0, s1794, 1 + s1797 + z6, z7, z8) + s1800 + s1802 + s139 :|: s1792 >= 0, s1792 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1793 >= 0, s1793 <= s1792 + z'', s1794 >= 0, s1794 <= s1793, s1795 >= 0, s1795 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1796 >= 0, s1796 <= s1795 + z'', s1797 >= 0, s1797 <= s1796, s1798 >= 0, s1798 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1799 >= 0, s1799 <= s1798 + z'', s1800 >= 0, s1800 <= 0, s1801 >= 0, s1801 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1802 >= 0, s1802 <= 0, s139 >= 0, s139 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1821 + s1823 }-> 1 + RING(z, 0, s1816, 1 + s1819 + z6, z7, z8) + s1822 + s1824 + s141 :|: s1814 >= 0, s1814 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1815 >= 0, s1815 <= s1814 + z'', s1816 >= 0, s1816 <= s1815, s1817 >= 0, s1817 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1818 >= 0, s1818 <= s1817 + z'', s1819 >= 0, s1819 <= s1818, s1820 >= 0, s1820 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1821 >= 0, s1821 <= s1820 + z'', s1822 >= 0, s1822 <= 0, s1823 >= 0, s1823 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1824 >= 0, s1824 <= 0, s141 >= 0, s141 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1843 + s1845 + z01 }-> 1 + RING(z, 0, s1838, 1 + s1841 + z6, z7, z8) + s1844 + s1846 + s143 :|: s1836 >= 0, s1836 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1837 >= 0, s1837 <= s1836 + z'', s1838 >= 0, s1838 <= s1837, s1839 >= 0, s1839 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1840 >= 0, s1840 <= s1839 + z'', s1841 >= 0, s1841 <= s1840, s1842 >= 0, s1842 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1843 >= 0, s1843 <= s1842 + z'', s1844 >= 0, s1844 <= 0, s1845 >= 0, s1845 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1846 >= 0, s1846 <= 0, s143 >= 0, s143 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1865 + s1867 }-> 1 + RING(z, 0, s1860, 1 + s1863 + z6, z7, z8) + s1866 + s1868 + s145 :|: s1858 >= 0, s1858 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1859 >= 0, s1859 <= s1858 + z'', s1860 >= 0, s1860 <= s1859, s1861 >= 0, s1861 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1862 >= 0, s1862 <= s1861 + z'', s1863 >= 0, s1863 <= s1862, s1864 >= 0, s1864 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1865 >= 0, s1865 <= s1864 + z'', s1866 >= 0, s1866 <= 0, s1867 >= 0, s1867 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1868 >= 0, s1868 <= 0, s145 >= 0, s145 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1887 + s1889 + z0'' }-> 1 + RING(z, 0, s1882, 1 + s1885 + z6, z7, z8) + s1888 + s1890 + s147 :|: s1880 >= 0, s1880 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1881 >= 0, s1881 <= s1880 + z'', s1882 >= 0, s1882 <= s1881, s1883 >= 0, s1883 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1884 >= 0, s1884 <= s1883 + z'', s1885 >= 0, s1885 <= s1884, s1886 >= 0, s1886 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1887 >= 0, s1887 <= s1886 + z'', s1888 >= 0, s1888 <= 0, s1889 >= 0, s1889 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1890 >= 0, s1890 <= 0, s147 >= 0, s147 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1909 + s1911 }-> 1 + RING(z, 0, s1904, 1 + s1907 + z6, z7, z8) + s1910 + s1912 + s149 :|: s1902 >= 0, s1902 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1903 >= 0, s1903 <= s1902 + z'', s1904 >= 0, s1904 <= s1903, s1905 >= 0, s1905 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1906 >= 0, s1906 <= s1905 + z'', s1907 >= 0, s1907 <= s1906, s1908 >= 0, s1908 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1909 >= 0, s1909 <= s1908 + z'', s1910 >= 0, s1910 <= 0, s1911 >= 0, s1911 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1912 >= 0, s1912 <= 0, s149 >= 0, s149 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1931 + s1933 + z01 }-> 1 + RING(z, 0, s1926, 1 + s1929 + z6, z7, z8) + s1932 + s1934 + s151 :|: s1924 >= 0, s1924 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1925 >= 0, s1925 <= s1924 + z'', s1926 >= 0, s1926 <= s1925, s1927 >= 0, s1927 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1928 >= 0, s1928 <= s1927 + z'', s1929 >= 0, s1929 <= s1928, s1930 >= 0, s1930 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1931 >= 0, s1931 <= s1930 + z'', s1932 >= 0, s1932 <= 0, s1933 >= 0, s1933 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1934 >= 0, s1934 <= 0, s151 >= 0, s151 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1953 + s1955 }-> 1 + RING(z, 0, s1948, 1 + s1951 + z6, z7, z8) + s1954 + s1956 + s153 :|: s1946 >= 0, s1946 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1947 >= 0, s1947 <= s1946 + z'', s1948 >= 0, s1948 <= s1947, s1949 >= 0, s1949 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1950 >= 0, s1950 <= s1949 + z'', s1951 >= 0, s1951 <= s1950, s1952 >= 0, s1952 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1953 >= 0, s1953 <= s1952 + z'', s1954 >= 0, s1954 <= 0, s1955 >= 0, s1955 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s1956 >= 0, s1956 <= 0, s153 >= 0, s153 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1975 + s1977 + z0'' }-> 1 + RING(z, 0, s1970, 1 + s1973 + z6, z7, z8) + s1976 + s1978 + s155 :|: s1968 >= 0, s1968 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1969 >= 0, s1969 <= s1968 + z'', s1970 >= 0, s1970 <= s1969, s1971 >= 0, s1971 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1972 >= 0, s1972 <= s1971 + z'', s1973 >= 0, s1973 <= s1972, s1974 >= 0, s1974 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1975 >= 0, s1975 <= s1974 + z'', s1976 >= 0, s1976 <= 0, s1977 >= 0, s1977 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1978 >= 0, s1978 <= 0, s155 >= 0, s155 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s1997 + s1999 }-> 1 + RING(z, 0, s1992, 1 + s1995 + z6, z7, z8) + s1998 + s2000 + s157 :|: s1990 >= 0, s1990 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1991 >= 0, s1991 <= s1990 + z'', s1992 >= 0, s1992 <= s1991, s1993 >= 0, s1993 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s1994 >= 0, s1994 <= s1993 + z'', s1995 >= 0, s1995 <= s1994, s1996 >= 0, s1996 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s1997 >= 0, s1997 <= s1996 + z'', s1998 >= 0, s1998 <= 0, s1999 >= 0, s1999 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2000 >= 0, s2000 <= 0, s157 >= 0, s157 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2019 + s2021 + z0'' }-> 1 + RING(z, 0, s2014, 1 + s2017 + z6, z7, z8) + s2020 + s2022 + s159 :|: s2012 >= 0, s2012 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2013 >= 0, s2013 <= s2012 + z'', s2014 >= 0, s2014 <= s2013, s2015 >= 0, s2015 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2016 >= 0, s2016 <= s2015 + z'', s2017 >= 0, s2017 <= s2016, s2018 >= 0, s2018 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2019 >= 0, s2019 <= s2018 + z'', s2020 >= 0, s2020 <= 0, s2021 >= 0, s2021 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s2022 >= 0, s2022 <= 0, s159 >= 0, s159 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2041 + s2043 }-> 1 + RING(z, 0, s2036, 1 + s2039 + z6, z7, z8) + s2042 + s2044 + s161 :|: s2034 >= 0, s2034 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2035 >= 0, s2035 <= s2034 + z'', s2036 >= 0, s2036 <= s2035, s2037 >= 0, s2037 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2038 >= 0, s2038 <= s2037 + z'', s2039 >= 0, s2039 <= s2038, s2040 >= 0, s2040 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2041 >= 0, s2041 <= s2040 + z'', s2042 >= 0, s2042 <= 0, s2043 >= 0, s2043 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s2044 >= 0, s2044 <= 0, s161 >= 0, s161 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2063 + s2065 + z0' }-> 1 + RING(z, 0, s2058, 1 + s2061 + z6, z7, z8) + s2064 + s2066 + s163 :|: s2056 >= 0, s2056 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2057 >= 0, s2057 <= s2056 + z'', s2058 >= 0, s2058 <= s2057, s2059 >= 0, s2059 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2060 >= 0, s2060 <= s2059 + z'', s2061 >= 0, s2061 <= s2060, s2062 >= 0, s2062 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2063 >= 0, s2063 <= s2062 + z'', s2064 >= 0, s2064 <= 0, s2065 >= 0, s2065 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2066 >= 0, s2066 <= 0, s163 >= 0, s163 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s2085 + s2087 }-> 1 + RING(z, 0, s2080, 1 + s2083 + z6, z7, z8) + s2086 + s2088 + s165 :|: s2078 >= 0, s2078 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2079 >= 0, s2079 <= s2078 + z'', s2080 >= 0, s2080 <= s2079, s2081 >= 0, s2081 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2082 >= 0, s2082 <= s2081 + z'', s2083 >= 0, s2083 <= s2082, s2084 >= 0, s2084 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2085 >= 0, s2085 <= s2084 + z'', s2086 >= 0, s2086 <= 0, s2087 >= 0, s2087 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s2088 >= 0, s2088 <= 0, s165 >= 0, s165 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s699 + s701 + z03 }-> 1 + RING(z, 0, s694, 1 + s697 + z6, z7, z8) + s700 + s702 + s39 :|: s692 >= 0, s692 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s693 >= 0, s693 <= s692 + z'', s694 >= 0, s694 <= s693, s695 >= 0, s695 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s696 >= 0, s696 <= s695 + z'', s697 >= 0, s697 <= s696, s698 >= 0, s698 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s699 >= 0, s699 <= s698 + z'', s700 >= 0, s700 <= 0, s701 >= 0, s701 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s702 >= 0, s702 <= 0, s39 >= 0, s39 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12, z13 >= 0, z03 >= 0, z' = 1 + z03 + z13 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s721 + s723 }-> 1 + RING(z, 0, s716, 1 + s719 + z6, z7, z8) + s722 + s724 + s41 :|: s714 >= 0, s714 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s715 >= 0, s715 <= s714 + z'', s716 >= 0, s716 <= s715, s717 >= 0, s717 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s718 >= 0, s718 <= s717 + z'', s719 >= 0, s719 <= s718, s720 >= 0, s720 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s721 >= 0, s721 <= s720 + z'', s722 >= 0, s722 <= 0, s723 >= 0, s723 <= 2 * (z02 * 1) + 3 * 1 + z02 * z02 + z02, s724 >= 0, s724 <= 0, s41 >= 0, s41 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s743 + s745 + z02 }-> 1 + RING(z, 0, s738, 1 + s741 + z6, z7, z8) + s744 + s746 + s43 :|: s736 >= 0, s736 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s737 >= 0, s737 <= s736 + z'', s738 >= 0, s738 <= s737, s739 >= 0, s739 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s740 >= 0, s740 <= s739 + z'', s741 >= 0, s741 <= s740, s742 >= 0, s742 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s743 >= 0, s743 <= s742 + z'', s744 >= 0, s744 <= 0, s745 >= 0, s745 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s746 >= 0, s746 <= 0, s43 >= 0, s43 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s765 + s767 }-> 1 + RING(z, 0, s760, 1 + s763 + z6, z7, z8) + s766 + s768 + s45 :|: s758 >= 0, s758 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s759 >= 0, s759 <= s758 + z'', s760 >= 0, s760 <= s759, s761 >= 0, s761 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s762 >= 0, s762 <= s761 + z'', s763 >= 0, s763 <= s762, s764 >= 0, s764 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s765 >= 0, s765 <= s764 + z'', s766 >= 0, s766 <= 0, s767 >= 0, s767 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s768 >= 0, s768 <= 0, s45 >= 0, s45 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s787 + s789 + z02 }-> 1 + RING(z, 0, s782, 1 + s785 + z6, z7, z8) + s788 + s790 + s47 :|: s780 >= 0, s780 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s781 >= 0, s781 <= s780 + z'', s782 >= 0, s782 <= s781, s783 >= 0, s783 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s784 >= 0, s784 <= s783 + z'', s785 >= 0, s785 <= s784, s786 >= 0, s786 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s787 >= 0, s787 <= s786 + z'', s788 >= 0, s788 <= 0, s789 >= 0, s789 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s790 >= 0, s790 <= 0, s47 >= 0, s47 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s809 + s811 }-> 1 + RING(z, 0, s804, 1 + s807 + z6, z7, z8) + s810 + s812 + s49 :|: s802 >= 0, s802 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s803 >= 0, s803 <= s802 + z'', s804 >= 0, s804 <= s803, s805 >= 0, s805 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s806 >= 0, s806 <= s805 + z'', s807 >= 0, s807 <= s806, s808 >= 0, s808 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s809 >= 0, s809 <= s808 + z'', s810 >= 0, s810 <= 0, s811 >= 0, s811 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s812 >= 0, s812 <= 0, s49 >= 0, s49 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s831 + s833 + z01 }-> 1 + RING(z, 0, s826, 1 + s829 + z6, z7, z8) + s832 + s834 + s51 :|: s824 >= 0, s824 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s825 >= 0, s825 <= s824 + z'', s826 >= 0, s826 <= s825, s827 >= 0, s827 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s828 >= 0, s828 <= s827 + z'', s829 >= 0, s829 <= s828, s830 >= 0, s830 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s831 >= 0, s831 <= s830 + z'', s832 >= 0, s832 <= 0, s833 >= 0, s833 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s834 >= 0, s834 <= 0, s51 >= 0, s51 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s853 + s855 }-> 1 + RING(z, 0, s848, 1 + s851 + z6, z7, z8) + s854 + s856 + s53 :|: s846 >= 0, s846 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s847 >= 0, s847 <= s846 + z'', s848 >= 0, s848 <= s847, s849 >= 0, s849 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s850 >= 0, s850 <= s849 + z'', s851 >= 0, s851 <= s850, s852 >= 0, s852 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s853 >= 0, s853 <= s852 + z'', s854 >= 0, s854 <= 0, s855 >= 0, s855 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s856 >= 0, s856 <= 0, s53 >= 0, s53 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s875 + s877 + z02 }-> 1 + RING(z, 0, s870, 1 + s873 + z6, z7, z8) + s876 + s878 + s55 :|: s868 >= 0, s868 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s869 >= 0, s869 <= s868 + z'', s870 >= 0, s870 <= s869, s871 >= 0, s871 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s872 >= 0, s872 <= s871 + z'', s873 >= 0, s873 <= s872, s874 >= 0, s874 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s875 >= 0, s875 <= s874 + z'', s876 >= 0, s876 <= 0, s877 >= 0, s877 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s878 >= 0, s878 <= 0, s55 >= 0, s55 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11, z12 >= 0, z02 >= 0, z' = 1 + z02 + z12 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s897 + s899 }-> 1 + RING(z, 0, s892, 1 + s895 + z6, z7, z8) + s898 + s900 + s57 :|: s890 >= 0, s890 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s891 >= 0, s891 <= s890 + z'', s892 >= 0, s892 <= s891, s893 >= 0, s893 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s894 >= 0, s894 <= s893 + z'', s895 >= 0, s895 <= s894, s896 >= 0, s896 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s897 >= 0, s897 <= s896 + z'', s898 >= 0, s898 <= 0, s899 >= 0, s899 <= 2 * (z01 * 1) + 3 * 1 + z01 * z01 + z01, s900 >= 0, s900 <= 0, s57 >= 0, s57 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s919 + s921 + z01 }-> 1 + RING(z, 0, s914, 1 + s917 + z6, z7, z8) + s920 + s922 + s59 :|: s912 >= 0, s912 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s913 >= 0, s913 <= s912 + z'', s914 >= 0, s914 <= s913, s915 >= 0, s915 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s916 >= 0, s916 <= s915 + z'', s917 >= 0, s917 <= s916, s918 >= 0, s918 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s919 >= 0, s919 <= s918 + z'', s920 >= 0, s920 <= 0, s921 >= 0, s921 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s922 >= 0, s922 <= 0, s59 >= 0, s59 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s941 + s943 }-> 1 + RING(z, 0, s936, 1 + s939 + z6, z7, z8) + s942 + s944 + s61 :|: s934 >= 0, s934 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s935 >= 0, s935 <= s934 + z'', s936 >= 0, s936 <= s935, s937 >= 0, s937 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s938 >= 0, s938 <= s937 + z'', s939 >= 0, s939 <= s938, s940 >= 0, s940 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s941 >= 0, s941 <= s940 + z'', s942 >= 0, s942 <= 0, s943 >= 0, s943 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s944 >= 0, s944 <= 0, s61 >= 0, s61 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s963 + s965 + z01 }-> 1 + RING(z, 0, s958, 1 + s961 + z6, z7, z8) + s964 + s966 + s63 :|: s956 >= 0, s956 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s957 >= 0, s957 <= s956 + z'', s958 >= 0, s958 <= s957, s959 >= 0, s959 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s960 >= 0, s960 <= s959 + z'', s961 >= 0, s961 <= s960, s962 >= 0, s962 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s963 >= 0, s963 <= s962 + z'', s964 >= 0, s964 <= 0, s965 >= 0, s965 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s966 >= 0, s966 <= 0, s63 >= 0, s63 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z' = 1 + z01 + z11 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 + s985 + s987 }-> 1 + RING(z, 0, s980, 1 + s983 + z6, z7, z8) + s986 + s988 + s65 :|: s978 >= 0, s978 <= 2 * (z0' * 1) + 3 * 1 + z0' * z0' + z0', s979 >= 0, s979 <= s978 + z'', s980 >= 0, s980 <= s979, s981 >= 0, s981 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s982 >= 0, s982 <= s981 + z'', s983 >= 0, s983 <= s982, s984 >= 0, s984 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s985 >= 0, s985 <= s984 + z'', s986 >= 0, s986 <= 0, s987 >= 0, s987 <= 2 * (z0'' * 1) + 3 * 1 + z0'' * z0'' + z0'', s988 >= 0, s988 <= 0, s65 >= 0, s65 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z' = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z' = 1 + z0'' + z1'' IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z137, z'', z6, z7, z8) :|: z8 >= 0, z048 >= 0, z >= 0, z7 >= 0, z137 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z048 + z137, z9 = 2 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, 0, z'', z6, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 2) + s244 :|: s244 >= 0, s244 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, z8, 0) + s243 :|: s243 >= 0, s243 <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 2) + s239 :|: s239 >= 0, s239 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + IF_7(z, z', z'', z6, z7, 0, 0) + s238 :|: s238 >= 0, s238 <= 0, z8 = 0, z' >= 0, z9 = 2, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 2) + s241 :|: s241 >= 0, s241 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, 0 = 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z, z', z'', z6, 0, 1 + (z8 - 1), 0) + s240 :|: s240 >= 0, s240 <= 0, z' >= 0, z9 = 2, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 2 + z138 + z210 }-> 1 + IF_7(z, z', z'', z6, 1 + z138 + z210, 1 + (z8 - 1), s291) + s242 :|: s290 >= 0, s290 <= z210, s291 >= 0, s291 <= 2, s242 >= 0, s242 <= 0, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2, z138 >= 0, z210 >= 0, z7 = 1 + z138 + z210, z8 - 1 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s688 + s690 }-> 1 + IF_8(z, z', z'', z6, z7, z8, s686) + s689 + s691 + s38 :|: s683 >= 0, s683 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s684 >= 0, s684 <= s683 + z7, s685 >= 0, s685 <= s684, s686 >= 0, s686 <= 2, s687 >= 0, s687 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s688 >= 0, s688 <= s687 + z7, s689 >= 0, s689 <= 0, s690 >= 0, s690 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s691 >= 0, s691 <= 0, s38 >= 0, s38 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s553 + s555 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s551) + s554 + s556 + s23 :|: s548 >= 0, s548 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s549 >= 0, s549 <= s548 + z7, s550 >= 0, s550 <= s549, s551 >= 0, s551 <= 2, s552 >= 0, s552 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s553 >= 0, s553 <= s552 + z7, s554 >= 0, s554 <= 0, s555 >= 0, s555 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s556 >= 0, s556 <= 0, s23 >= 0, s23 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s562 + s564 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s560) + s563 + s565 + s24 :|: s557 >= 0, s557 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s558 >= 0, s558 <= s557 + z7, s559 >= 0, s559 <= s558, s560 >= 0, s560 <= 2, s561 >= 0, s561 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s562 >= 0, s562 <= s561 + z7, s563 >= 0, s563 <= 0, s564 >= 0, s564 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s565 >= 0, s565 <= 0, s24 >= 0, s24 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s571 + s573 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s569) + s572 + s574 + s25 :|: s566 >= 0, s566 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s567 >= 0, s567 <= s566 + z7, s568 >= 0, s568 <= s567, s569 >= 0, s569 <= 2, s570 >= 0, s570 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s571 >= 0, s571 <= s570 + z7, s572 >= 0, s572 <= 0, s573 >= 0, s573 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s574 >= 0, s574 <= 0, s25 >= 0, s25 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s580 + s582 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s578) + s581 + s583 + s26 :|: s575 >= 0, s575 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s576 >= 0, s576 <= s575 + z7, s577 >= 0, s577 <= s576, s578 >= 0, s578 <= 2, s579 >= 0, s579 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s580 >= 0, s580 <= s579 + z7, s581 >= 0, s581 <= 0, s582 >= 0, s582 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s583 >= 0, s583 <= 0, s26 >= 0, s26 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s589 + s591 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s587) + s590 + s592 + s27 :|: s584 >= 0, s584 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s585 >= 0, s585 <= s584 + z7, s586 >= 0, s586 <= s585, s587 >= 0, s587 <= 2, s588 >= 0, s588 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s589 >= 0, s589 <= s588 + z7, s590 >= 0, s590 <= 0, s591 >= 0, s591 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s592 >= 0, s592 <= 0, s27 >= 0, s27 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s598 + s600 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s596) + s599 + s601 + s28 :|: s593 >= 0, s593 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s594 >= 0, s594 <= s593 + z7, s595 >= 0, s595 <= s594, s596 >= 0, s596 <= 2, s597 >= 0, s597 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s598 >= 0, s598 <= s597 + z7, s599 >= 0, s599 <= 0, s600 >= 0, s600 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s601 >= 0, s601 <= 0, s28 >= 0, s28 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s607 + s609 + z051 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s605) + s608 + s610 + s29 :|: s602 >= 0, s602 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s603 >= 0, s603 <= s602 + z7, s604 >= 0, s604 <= s603, s605 >= 0, s605 <= 2, s606 >= 0, s606 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s607 >= 0, s607 <= s606 + z7, s608 >= 0, s608 <= 0, s609 >= 0, s609 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s610 >= 0, s610 <= 0, s29 >= 0, s29 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s616 + s618 }-> 1 + IF_8(z, z', z'', 1 + z051 + z139, z7, z8, s614) + s617 + s619 + s30 :|: s611 >= 0, s611 <= 2 * (z051 * 0) + 3 * 0 + z051 * z051 + z051, s612 >= 0, s612 <= s611 + z7, s613 >= 0, s613 <= s612, s614 >= 0, s614 <= 2, s615 >= 0, s615 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s616 >= 0, s616 <= s615 + z7, s617 >= 0, s617 <= 0, s618 >= 0, s618 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s619 >= 0, s619 <= 0, s30 >= 0, s30 <= 0, z9 = 1, z8 >= 0, z139 >= 0, z >= 0, z7 >= 0, z6 = 1 + z051 + z139, z'' >= 0, z' >= 0, z051 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s625 + s627 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, s623) + s626 + s628 + s31 :|: s620 >= 0, s620 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s621 >= 0, s621 <= s620 + z7, s622 >= 0, s622 <= s621, s623 >= 0, s623 <= 2, s624 >= 0, s624 <= 2 * (z052 * 0) + 3 * 0 + z052 * z052 + z052, s625 >= 0, s625 <= s624 + z7, s626 >= 0, s626 <= 0, s627 >= 0, s627 <= 2 * (z052 * 0) + 3 * 0 + z052 * z052 + z052, s628 >= 0, s628 <= 0, s31 >= 0, s31 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s634 + s636 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, s632) + s635 + s637 + s32 :|: s629 >= 0, s629 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s630 >= 0, s630 <= s629 + z7, s631 >= 0, s631 <= s630, s632 >= 0, s632 <= 2, s633 >= 0, s633 <= 2 * (z052 * 0) + 3 * 0 + z052 * z052 + z052, s634 >= 0, s634 <= s633 + z7, s635 >= 0, s635 <= 0, s636 >= 0, s636 <= 2 * (z052 * 0) + 3 * 0 + z052 * z052 + z052, s637 >= 0, s637 <= 0, s32 >= 0, s32 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s643 + s645 + z052 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, s641) + s644 + s646 + s33 :|: s638 >= 0, s638 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s639 >= 0, s639 <= s638 + z7, s640 >= 0, s640 <= s639, s641 >= 0, s641 <= 2, s642 >= 0, s642 <= 2 * (z052 * 0) + 3 * 0 + z052 * z052 + z052, s643 >= 0, s643 <= s642 + z7, s644 >= 0, s644 <= 0, s645 >= 0, s645 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s646 >= 0, s646 <= 0, s33 >= 0, s33 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s652 + s654 }-> 1 + IF_8(z, z', z'', 1 + z052 + z140, z7, z8, s650) + s653 + s655 + s34 :|: s647 >= 0, s647 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s648 >= 0, s648 <= s647 + z7, s649 >= 0, s649 <= s648, s650 >= 0, s650 <= 2, s651 >= 0, s651 <= 2 * (z052 * 0) + 3 * 0 + z052 * z052 + z052, s652 >= 0, s652 <= s651 + z7, s653 >= 0, s653 <= 0, s654 >= 0, s654 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s655 >= 0, s655 <= 0, s34 >= 0, s34 <= 0, z9 = 1, z8 >= 0, z052 >= 0, z >= 0, z6 = 1 + z052 + z140, z7 >= 0, z'' >= 0, z' >= 0, z140 >= 0 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s661 + s663 + z053 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, s659) + s662 + s664 + s35 :|: s656 >= 0, s656 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s657 >= 0, s657 <= s656 + z7, s658 >= 0, s658 <= s657, s659 >= 0, s659 <= 2, s660 >= 0, s660 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s661 >= 0, s661 <= s660 + z7, s662 >= 0, s662 <= 0, s663 >= 0, s663 <= 2 * (z053 * 0) + 3 * 0 + z053 * z053 + z053, s664 >= 0, s664 <= 0, s35 >= 0, s35 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s670 + s672 }-> 1 + IF_8(z, z', z'', 1 + z053 + z141, z7, z8, s668) + s671 + s673 + s36 :|: s665 >= 0, s665 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s666 >= 0, s666 <= s665 + z7, s667 >= 0, s667 <= s666, s668 >= 0, s668 <= 2, s669 >= 0, s669 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s670 >= 0, s670 <= s669 + z7, s671 >= 0, s671 <= 0, s672 >= 0, s672 <= 2 * (z053 * 0) + 3 * 0 + z053 * z053 + z053, s673 >= 0, s673 <= 0, s36 >= 0, s36 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z141 >= 0, z' >= 0, z053 >= 0, z6 = 1 + z053 + z141 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 + s679 + s681 + z054 }-> 1 + IF_8(z, z', z'', 1 + z054 + z142, z7, z8, s677) + s680 + s682 + s37 :|: s674 >= 0, s674 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s675 >= 0, s675 <= s674 + z7, s676 >= 0, s676 <= s675, s677 >= 0, s677 <= 2, s678 >= 0, s678 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s679 >= 0, s679 <= s678 + z7, s680 >= 0, s680 <= 0, s681 >= 0, s681 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s682 >= 0, s682 <= 0, s37 >= 0, s37 <= 0, z9 = 1, z8 >= 0, z6 = 1 + z054 + z142, z054 >= 0, z142 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 2 + z111 + z27 }-> 1 + RING(z, z', z'', z6, s253, 1 + (z8 - 1)) + s309 :|: s309 >= 0, s309 <= 0, s253 >= 0, s253 <= z27, z9 = 1, z7 = 1 + z111 + z27, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z27 >= 0, z111 >= 0, z8 - 1 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, z7, 0) + s307 :|: s307 >= 0, s307 <= 0, z9 = 1, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 + z7 }-> 1 + RING(z, z', z'', z6, 0, z8) + s310 :|: s310 >= 0, s310 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z6, 0, 1 + (z8 - 1)) + s308 :|: s308 >= 0, s308 <= 0, z9 = 1, z' >= 0, z8 - 1 >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, s375, z8) :|: s373 >= 0, s373 <= 2 * (z055 * 0) + 3 * 0 + z055 * z055 + z055, s374 >= 0, s374 <= s373 + z7, s375 >= 0, s375 <= s374, z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z143, s378, z8) :|: s376 >= 0, s376 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s377 >= 0, s377 <= s376 + z7, s378 >= 0, s378 <= s377, z9 = 1, z8 >= 0, z6 = 1 + z055 + z143, z143 >= 0, z >= 0, z055 >= 0, z7 >= 0, z'' >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, s381, z8) :|: s379 >= 0, s379 <= 2 * (z056 * 0) + 3 * 0 + z056 * z056 + z056, s380 >= 0, s380 <= s379 + z7, s381 >= 0, s381 <= s380, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z056 >= 0, z' >= 0, z144 >= 0, z6 = 1 + z056 + z144 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, s384, z8) :|: s382 >= 0, s382 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s383 >= 0, s383 <= s382 + z7, s384 >= 0, s384 <= s383, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2352 + s2354 }-> 1 + RING(z, z', z'', z1', s2350, z8) + s2353 + s2355 + s198 :|: s2348 >= 0, s2348 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2349 >= 0, s2349 <= s2348 + z7, s2350 >= 0, s2350 <= s2349, s2351 >= 0, s2351 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2352 >= 0, s2352 <= s2351 + z7, s2353 >= 0, s2353 <= 0, s2354 >= 0, s2354 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2355 >= 0, s2355 <= 0, s198 >= 0, s198 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2224 + s2226 }-> 1 + RING(z, z', z'', z1'', s2222, z8) + s2225 + s2227 + s182 :|: s2220 >= 0, s2220 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2221 >= 0, s2221 <= s2220 + z7, s2222 >= 0, s2222 <= s2221, s2223 >= 0, s2223 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2224 >= 0, s2224 <= s2223 + z7, s2225 >= 0, s2225 <= 0, s2226 >= 0, s2226 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2227 >= 0, s2227 <= 0, s182 >= 0, s182 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2288 + s2290 }-> 1 + RING(z, z', z'', z1'', s2286, z8) + s2289 + s2291 + s190 :|: s2284 >= 0, s2284 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2285 >= 0, s2285 <= s2284 + z7, s2286 >= 0, s2286 <= s2285, s2287 >= 0, s2287 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2288 >= 0, s2288 <= s2287 + z7, s2289 >= 0, s2289 <= 0, s2290 >= 0, s2290 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2291 >= 0, s2291 <= 0, s190 >= 0, s190 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2320 + s2322 }-> 1 + RING(z, z', z'', z1'', s2318, z8) + s2321 + s2323 + s194 :|: s2316 >= 0, s2316 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2317 >= 0, s2317 <= s2316 + z7, s2318 >= 0, s2318 <= s2317, s2319 >= 0, s2319 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2320 >= 0, s2320 <= s2319 + z7, s2321 >= 0, s2321 <= 0, s2322 >= 0, s2322 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2323 >= 0, s2323 <= 0, s194 >= 0, s194 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2336 + s2338 + z0' }-> 1 + RING(z, z', z'', z1'', s2334, z8) + s2337 + s2339 + s196 :|: s2332 >= 0, s2332 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2333 >= 0, s2333 <= s2332 + z7, s2334 >= 0, s2334 <= s2333, s2335 >= 0, s2335 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2336 >= 0, s2336 <= s2335 + z7, s2337 >= 0, s2337 <= 0, s2338 >= 0, s2338 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2339 >= 0, s2339 <= 0, s196 >= 0, s196 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2160 + s2162 }-> 1 + RING(z, z', z'', z11, s2158, z8) + s2161 + s2163 + s174 :|: s2156 >= 0, s2156 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2157 >= 0, s2157 <= s2156 + z7, s2158 >= 0, s2158 <= s2157, s2159 >= 0, s2159 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2160 >= 0, s2160 <= s2159 + z7, s2161 >= 0, s2161 <= 0, s2162 >= 0, s2162 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2163 >= 0, s2163 <= 0, s174 >= 0, s174 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2192 + s2194 }-> 1 + RING(z, z', z'', z11, s2190, z8) + s2193 + s2195 + s178 :|: s2188 >= 0, s2188 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2189 >= 0, s2189 <= s2188 + z7, s2190 >= 0, s2190 <= s2189, s2191 >= 0, s2191 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2192 >= 0, s2192 <= s2191 + z7, s2193 >= 0, s2193 <= 0, s2194 >= 0, s2194 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2195 >= 0, s2195 <= 0, s178 >= 0, s178 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2208 + s2210 + z0'' }-> 1 + RING(z, z', z'', z11, s2206, z8) + s2209 + s2211 + s180 :|: s2204 >= 0, s2204 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2205 >= 0, s2205 <= s2204 + z7, s2206 >= 0, s2206 <= s2205, s2207 >= 0, s2207 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2208 >= 0, s2208 <= s2207 + z7, s2209 >= 0, s2209 <= 0, s2210 >= 0, s2210 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2211 >= 0, s2211 <= 0, s180 >= 0, s180 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2256 + s2258 }-> 1 + RING(z, z', z'', z11, s2254, z8) + s2257 + s2259 + s186 :|: s2252 >= 0, s2252 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2253 >= 0, s2253 <= s2252 + z7, s2254 >= 0, s2254 <= s2253, s2255 >= 0, s2255 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2256 >= 0, s2256 <= s2255 + z7, s2257 >= 0, s2257 <= 0, s2258 >= 0, s2258 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2259 >= 0, s2259 <= 0, s186 >= 0, s186 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2272 + s2274 + z0'' }-> 1 + RING(z, z', z'', z11, s2270, z8) + s2273 + s2275 + s188 :|: s2268 >= 0, s2268 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2269 >= 0, s2269 <= s2268 + z7, s2270 >= 0, s2270 <= s2269, s2271 >= 0, s2271 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2272 >= 0, s2272 <= s2271 + z7, s2273 >= 0, s2273 <= 0, s2274 >= 0, s2274 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2275 >= 0, s2275 <= 0, s188 >= 0, s188 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2304 + s2306 + z0'' }-> 1 + RING(z, z', z'', z11, s2302, z8) + s2305 + s2307 + s192 :|: s2300 >= 0, s2300 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2301 >= 0, s2301 <= s2300 + z7, s2302 >= 0, s2302 <= s2301, s2303 >= 0, s2303 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2304 >= 0, s2304 <= s2303 + z7, s2305 >= 0, s2305 <= 0, s2306 >= 0, s2306 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2307 >= 0, s2307 <= 0, s192 >= 0, s192 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2128 + s2130 }-> 1 + RING(z, z', z'', z12, s2126, z8) + s2129 + s2131 + s170 :|: s2124 >= 0, s2124 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2125 >= 0, s2125 <= s2124 + z7, s2126 >= 0, s2126 <= s2125, s2127 >= 0, s2127 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2128 >= 0, s2128 <= s2127 + z7, s2129 >= 0, s2129 <= 0, s2130 >= 0, s2130 <= 2 * (z01 * 0) + 3 * 0 + z01 * z01 + z01, s2131 >= 0, s2131 <= 0, s170 >= 0, s170 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2144 + s2146 + z01 }-> 1 + RING(z, z', z'', z12, s2142, z8) + s2145 + s2147 + s172 :|: s2140 >= 0, s2140 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2141 >= 0, s2141 <= s2140 + z7, s2142 >= 0, s2142 <= s2141, s2143 >= 0, s2143 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2144 >= 0, s2144 <= s2143 + z7, s2145 >= 0, s2145 <= 0, s2146 >= 0, s2146 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2147 >= 0, s2147 <= 0, s172 >= 0, s172 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2176 + s2178 + z01 }-> 1 + RING(z, z', z'', z12, s2174, z8) + s2177 + s2179 + s176 :|: s2172 >= 0, s2172 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2173 >= 0, s2173 <= s2172 + z7, s2174 >= 0, s2174 <= s2173, s2175 >= 0, s2175 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2176 >= 0, s2176 <= s2175 + z7, s2177 >= 0, s2177 <= 0, s2178 >= 0, s2178 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2179 >= 0, s2179 <= 0, s176 >= 0, s176 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2240 + s2242 + z01 }-> 1 + RING(z, z', z'', z12, s2238, z8) + s2241 + s2243 + s184 :|: s2236 >= 0, s2236 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2237 >= 0, s2237 <= s2236 + z7, s2238 >= 0, s2238 <= s2237, s2239 >= 0, s2239 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2240 >= 0, s2240 <= s2239 + z7, s2241 >= 0, s2241 <= 0, s2242 >= 0, s2242 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2243 >= 0, s2243 <= 0, s184 >= 0, s184 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2112 + s2114 + z02 }-> 1 + RING(z, z', z'', z13, s2110, z8) + s2113 + s2115 + s168 :|: s2108 >= 0, s2108 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2109 >= 0, s2109 <= s2108 + z7, s2110 >= 0, s2110 <= s2109, s2111 >= 0, s2111 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2112 >= 0, s2112 <= s2111 + z7, s2113 >= 0, s2113 <= 0, s2114 >= 0, s2114 <= 2 * (z01 * 0) + 3 * 0 + z01 * z01 + z01, s2115 >= 0, s2115 <= 0, s168 >= 0, s168 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12, z13 >= 0, z03 >= 0, z6 = 1 + z03 + z13 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2104 + s2106 + z02 }-> 1 + RING(z, z', z'', 0, s2102, z8) + s2105 + s2107 + s167 :|: s2100 >= 0, s2100 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2101 >= 0, s2101 <= s2100 + z7, s2102 >= 0, s2102 <= s2101, s2103 >= 0, s2103 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2104 >= 0, s2104 <= s2103 + z7, s2105 >= 0, s2105 <= 0, s2106 >= 0, s2106 <= 2 * (z01 * 0) + 3 * 0 + z01 * z01 + z01, s2107 >= 0, s2107 <= 0, s167 >= 0, s167 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11, z12 >= 0, z02 >= 0, z6 = 1 + z02 + z12 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2120 + s2122 }-> 1 + RING(z, z', z'', 0, s2118, z8) + s2121 + s2123 + s169 :|: s2116 >= 0, s2116 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2117 >= 0, s2117 <= s2116 + z7, s2118 >= 0, s2118 <= s2117, s2119 >= 0, s2119 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2120 >= 0, s2120 <= s2119 + z7, s2121 >= 0, s2121 <= 0, s2122 >= 0, s2122 <= 2 * (z01 * 0) + 3 * 0 + z01 * z01 + z01, s2123 >= 0, s2123 <= 0, s169 >= 0, s169 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2136 + s2138 + z01 }-> 1 + RING(z, z', z'', 0, s2134, z8) + s2137 + s2139 + s171 :|: s2132 >= 0, s2132 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2133 >= 0, s2133 <= s2132 + z7, s2134 >= 0, s2134 <= s2133, s2135 >= 0, s2135 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2136 >= 0, s2136 <= s2135 + z7, s2137 >= 0, s2137 <= 0, s2138 >= 0, s2138 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2139 >= 0, s2139 <= 0, s171 >= 0, s171 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2152 + s2154 }-> 1 + RING(z, z', z'', 0, s2150, z8) + s2153 + s2155 + s173 :|: s2148 >= 0, s2148 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2149 >= 0, s2149 <= s2148 + z7, s2150 >= 0, s2150 <= s2149, s2151 >= 0, s2151 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2152 >= 0, s2152 <= s2151 + z7, s2153 >= 0, s2153 <= 0, s2154 >= 0, s2154 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2155 >= 0, s2155 <= 0, s173 >= 0, s173 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2168 + s2170 + z01 }-> 1 + RING(z, z', z'', 0, s2166, z8) + s2169 + s2171 + s175 :|: s2164 >= 0, s2164 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2165 >= 0, s2165 <= s2164 + z7, s2166 >= 0, s2166 <= s2165, s2167 >= 0, s2167 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2168 >= 0, s2168 <= s2167 + z7, s2169 >= 0, s2169 <= 0, s2170 >= 0, s2170 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2171 >= 0, s2171 <= 0, s175 >= 0, s175 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2184 + s2186 }-> 1 + RING(z, z', z'', 0, s2182, z8) + s2185 + s2187 + s177 :|: s2180 >= 0, s2180 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2181 >= 0, s2181 <= s2180 + z7, s2182 >= 0, s2182 <= s2181, s2183 >= 0, s2183 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2184 >= 0, s2184 <= s2183 + z7, s2185 >= 0, s2185 <= 0, s2186 >= 0, s2186 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2187 >= 0, s2187 <= 0, s177 >= 0, s177 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2200 + s2202 + z0'' }-> 1 + RING(z, z', z'', 0, s2198, z8) + s2201 + s2203 + s179 :|: s2196 >= 0, s2196 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2197 >= 0, s2197 <= s2196 + z7, s2198 >= 0, s2198 <= s2197, s2199 >= 0, s2199 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2200 >= 0, s2200 <= s2199 + z7, s2201 >= 0, s2201 <= 0, s2202 >= 0, s2202 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2203 >= 0, s2203 <= 0, s179 >= 0, s179 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2216 + s2218 }-> 1 + RING(z, z', z'', 0, s2214, z8) + s2217 + s2219 + s181 :|: s2212 >= 0, s2212 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2213 >= 0, s2213 <= s2212 + z7, s2214 >= 0, s2214 <= s2213, s2215 >= 0, s2215 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2216 >= 0, s2216 <= s2215 + z7, s2217 >= 0, s2217 <= 0, s2218 >= 0, s2218 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2219 >= 0, s2219 <= 0, s181 >= 0, s181 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2232 + s2234 + z01 }-> 1 + RING(z, z', z'', 0, s2230, z8) + s2233 + s2235 + s183 :|: s2228 >= 0, s2228 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2229 >= 0, s2229 <= s2228 + z7, s2230 >= 0, s2230 <= s2229, s2231 >= 0, s2231 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2232 >= 0, s2232 <= s2231 + z7, s2233 >= 0, s2233 <= 0, s2234 >= 0, s2234 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2235 >= 0, s2235 <= 0, s183 >= 0, s183 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'', z11 >= 0, z01 >= 0, z6 = 1 + z01 + z11 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2248 + s2250 }-> 1 + RING(z, z', z'', 0, s2246, z8) + s2249 + s2251 + s185 :|: s2244 >= 0, s2244 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2245 >= 0, s2245 <= s2244 + z7, s2246 >= 0, s2246 <= s2245, s2247 >= 0, s2247 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2248 >= 0, s2248 <= s2247 + z7, s2249 >= 0, s2249 <= 0, s2250 >= 0, s2250 <= 2 * (z0'' * 0) + 3 * 0 + z0'' * z0'' + z0'', s2251 >= 0, s2251 <= 0, s185 >= 0, s185 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2264 + s2266 + z0'' }-> 1 + RING(z, z', z'', 0, s2262, z8) + s2265 + s2267 + s187 :|: s2260 >= 0, s2260 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2261 >= 0, s2261 <= s2260 + z7, s2262 >= 0, s2262 <= s2261, s2263 >= 0, s2263 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2264 >= 0, s2264 <= s2263 + z7, s2265 >= 0, s2265 <= 0, s2266 >= 0, s2266 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2267 >= 0, s2267 <= 0, s187 >= 0, s187 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2280 + s2282 }-> 1 + RING(z, z', z'', 0, s2278, z8) + s2281 + s2283 + s189 :|: s2276 >= 0, s2276 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2277 >= 0, s2277 <= s2276 + z7, s2278 >= 0, s2278 <= s2277, s2279 >= 0, s2279 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2280 >= 0, s2280 <= s2279 + z7, s2281 >= 0, s2281 <= 0, s2282 >= 0, s2282 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2283 >= 0, s2283 <= 0, s189 >= 0, s189 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2296 + s2298 + z0'' }-> 1 + RING(z, z', z'', 0, s2294, z8) + s2297 + s2299 + s191 :|: s2292 >= 0, s2292 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2293 >= 0, s2293 <= s2292 + z7, s2294 >= 0, s2294 <= s2293, s2295 >= 0, s2295 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2296 >= 0, s2296 <= s2295 + z7, s2297 >= 0, s2297 <= 0, s2298 >= 0, s2298 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2299 >= 0, s2299 <= 0, s191 >= 0, s191 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1', z1'' >= 0, z0'' >= 0, z6 = 1 + z0'' + z1'' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2312 + s2314 }-> 1 + RING(z, z', z'', 0, s2310, z8) + s2313 + s2315 + s193 :|: s2308 >= 0, s2308 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2309 >= 0, s2309 <= s2308 + z7, s2310 >= 0, s2310 <= s2309, s2311 >= 0, s2311 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2312 >= 0, s2312 <= s2311 + z7, s2313 >= 0, s2313 <= 0, s2314 >= 0, s2314 <= 2 * (z0' * 0) + 3 * 0 + z0' * z0' + z0', s2315 >= 0, s2315 <= 0, s193 >= 0, s193 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2328 + s2330 + z0' }-> 1 + RING(z, z', z'', 0, s2326, z8) + s2329 + s2331 + s195 :|: s2324 >= 0, s2324 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2325 >= 0, s2325 <= s2324 + z7, s2326 >= 0, s2326 <= s2325, s2327 >= 0, s2327 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2328 >= 0, s2328 <= s2327 + z7, s2329 >= 0, s2329 <= 0, s2330 >= 0, s2330 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2331 >= 0, s2331 <= 0, s195 >= 0, s195 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z1' >= 0, z0' >= 0, z6 = 1 + z0' + z1' IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 + s2344 + s2346 }-> 1 + RING(z, z', z'', 0, s2342, z8) + s2345 + s2347 + s197 :|: s2340 >= 0, s2340 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2341 >= 0, s2341 <= s2340 + z7, s2342 >= 0, s2342 <= s2341, s2343 >= 0, s2343 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2344 >= 0, s2344 <= s2343 + z7, s2345 >= 0, s2345 <= 0, s2346 >= 0, s2346 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s2347 >= 0, s2347 <= 0, s197 >= 0, s197 <= 0, z9 = 1, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', z150, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z' >= 0, z9 = 2, z062 >= 0, z150 >= 0, z6 = 1 + z062 + z150 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z, z', z'', 0, z7, z8) :|: z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z9 = 2 LENGTH(z) -{ 1 + z1 }-> 1 + s266 :|: s266 >= 0, s266 <= 0, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ z' }-> 1 + s314 :|: s314 >= 0, s314 <= 0, z' - 1 >= 0, z - 1 >= 0 MAP_F(z, z') -{ 1 + z2 }-> 1 + s :|: s >= 0, s <= 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', z6, z7, z8, s403) + s6 :|: s402 >= 0, s402 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s403 >= 0, s403 <= 2, s6 >= 0, s6 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z025 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, s397) + s3 :|: s396 >= 0, s396 <= 2 * (z025 * 0) + 3 * 0 + z025 * z025 + z025, s397 >= 0, s397 <= 2, s3 >= 0, s3 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z, z', z'', 1 + z025 + z115, z7, z8, s399) + s4 :|: s398 >= 0, s398 <= 2 * (z025 * 0) + 3 * 0 + z025 * z025 + z025, s399 >= 0, s399 <= 2, s4 >= 0, s4 <= 0, z6 = 1 + z025 + z115, z8 >= 0, z115 >= 0, z >= 0, z7 >= 0, z'' >= 0, z025 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z026 }-> 1 + IF_9(z, z', z'', 1 + z026 + z116, z7, z8, s401) + s5 :|: s400 >= 0, s400 <= 2 * (0 * 0) + 3 * 0 + 0 * 0 + 0, s401 >= 0, s401 <= 2, s5 >= 0, s5 <= 0, z6 = 1 + z026 + z116, z8 >= 0, z >= 0, z7 >= 0, z026 >= 0, z'' >= 0, z116 >= 0, z' >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, z', z'', z6, z7, z8, s395) + s2 :|: s394 >= 0, s394 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s395 >= 0, s395 <= 2, s2 >= 0, s2 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z023 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, s389) + s' :|: s388 >= 0, s388 <= 2 * (z023 * 1) + 3 * 1 + z023 * z023 + z023, s389 >= 0, s389 <= 2, s' >= 0, s' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z, 1 + z023 + z113, z'', z6, z7, z8, s391) + s'' :|: s390 >= 0, s390 <= 2 * (z023 * 1) + 3 * 1 + z023 * z023 + z023, s391 >= 0, s391 <= 2, s'' >= 0, s'' <= 0, z8 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z113 >= 0, z023 >= 0, z' = 1 + z023 + z113 RING(z, z', z'', z6, z7, z8) -{ 1 + z024 }-> 1 + IF_5(z, 1 + z024 + z114, z'', z6, z7, z8, s393) + s1 :|: s392 >= 0, s392 <= 2 * (0 * 1) + 3 * 1 + 0 * 0 + 0, s393 >= 0, s393 <= 2, s1 >= 0, s1 <= 0, z8 >= 0, z114 >= 0, z024 >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' = 1 + z024 + z114 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 2) + s230 :|: s230 >= 0, s230 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, z8, 0) + s229 :|: s229 >= 0, s229 <= 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 2) + s225 :|: s225 >= 0, s225 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 + z }-> 1 + IF_1(z, z', z'', z6, z7, 0, 0) + s224 :|: s224 >= 0, s224 <= 0, z8 = 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 2) + s227 :|: s227 >= 0, s227 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, 0 = 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(0, z', z'', z6, z7, 1 + (z8 - 1), 0) + s226 :|: s226 >= 0, s226 <= 0, z8 - 1 >= 0, z' >= 0, z7 >= 0, z = 0, z'' >= 0, z6 >= 0, v0 >= 0, 0 = v0 RING(z, z', z'', z6, z7, z8) -{ 2 + z112 + z28 }-> 1 + IF_1(1 + z112 + z28, z', z'', z6, z7, 1 + (z8 - 1), s287) + s228 :|: s286 >= 0, s286 <= z28, s287 >= 0, s287 <= 2, s228 >= 0, s228 <= 0, z28 >= 0, z112 >= 0, z7 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z8 - 1 >= 0, z = 1 + z112 + z28 RING(z, z', z'', z6, z7, z8) -{ 1 + z7 }-> 1 + IF_6(z, z', z'', z6, z7, z8, s264) + s324 + s276 :|: s324 >= 0, s324 <= 0, s276 >= 0, s276 <= 0, s264 >= 0, s264 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z, z', z'', z6, 0, z8, s260) + s320 + s272 :|: s320 >= 0, s320 <= 0, s272 >= 0, s272 <= 0, s260 >= 0, s260 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 = 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s204 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s261) + s321 + s273 :|: s321 >= 0, s321 <= 0, s273 >= 0, s273 <= 0, s261 >= 0, s261 <= 2, s203 >= 0, s203 <= z11, s204 >= 0, s204 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z01 + z11 }-> 1 + IF_6(z, z', z'', z6, 1 + z01 + z11, z8, s262) + s322 + s274 :|: s322 >= 0, s322 <= 0, s274 >= 0, s274 <= 0, s262 >= 0, s262 <= 2, s205 >= 0, s205 <= z11, z8 >= 0, z11 >= 0, z7 = 1 + z01 + z11, z >= 0, z'' >= 0, z6 >= 0, z' >= 0, z01 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s206 + z02 + z12 }-> 1 + IF_6(z, z', z'', z6, 1 + z02 + z12, z8, s263) + s323 + s275 :|: s323 >= 0, s323 <= 0, s275 >= 0, s275 <= 0, s263 >= 0, s263 <= 2, s206 >= 0, s206 <= z12, z8 >= 0, z02 >= 0, z >= 0, z12 >= 0, z'' >= 0, z6 >= 0, z' >= 0, z7 = 1 + z02 + z12 RING(z, z', z'', z6, z7, z8) -{ 1 + z'' }-> 1 + IF_2(z, z', z'', z6, z7, z8, s259) + s319 + s271 :|: s319 >= 0, s319 <= 0, s271 >= 0, s271 <= 0, s259 >= 0, s259 <= 2, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z'' >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z, z', 0, z6, z7, z8, s255) + s315 + s267 :|: s315 >= 0, s315 <= 0, s267 >= 0, s267 <= 0, s255 >= 0, s255 <= 2, z'' = 0, z8 >= 0, z' >= 0, z >= 0, z7 >= 0, z6 >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s200 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s256) + s316 + s268 :|: s316 >= 0, s316 <= 0, s268 >= 0, s268 <= 0, s256 >= 0, s256 <= 2, s199 >= 0, s199 <= z1', s200 >= 0, s200 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 2 + z0' + z1' }-> 1 + IF_2(z, z', 1 + z0' + z1', z6, z7, z8, s257) + s317 + s269 :|: s317 >= 0, s317 <= 0, s269 >= 0, s269 <= 0, s257 >= 0, s257 <= 2, s201 >= 0, s201 <= z1', z8 >= 0, z'' = 1 + z0' + z1', z1' >= 0, z >= 0, z7 >= 0, z6 >= 0, z' >= 0, z0' >= 0 RING(z, z', z'', z6, z7, z8) -{ 3 + s202 + z0'' + z1'' }-> 1 + IF_2(z, z', 1 + z0'' + z1'', z6, z7, z8, s258) + s318 + s270 :|: s318 >= 0, s318 <= 0, s270 >= 0, s270 <= 0, s258 >= 0, s258 <= 2, s202 >= 0, s202 <= z1'', z8 >= 0, z >= 0, z7 >= 0, z0'' >= 0, z6 >= 0, z1'' >= 0, z' >= 0, z'' = 1 + z0'' + z1'' SNDSPLIT(z, z') -{ 1 + z2 }-> 1 + s292 :|: s292 >= 0, s292 <= 0, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 app(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 app(z, z') -{ 0 }-> 1 + z0 + s313 :|: s313 >= 0, s313 <= z1 + z', z1 >= 0, z0 >= 0, z = 1 + z0 + z1, z' >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: z >= 0 fstsplit(z, z') -{ 0 }-> 0 :|: z' >= 0, z = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 fstsplit(z, z') -{ 0 }-> 1 + z1 + s285 :|: s285 >= 0, s285 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: z >= 0 length(z) -{ 0 }-> 1 + s207 :|: s207 >= 0, s207 <= z1, z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> s265 :|: s265 >= 0, s265 <= 2, z' - 1 >= 0, z - 1 >= 0 leq(z, z') -{ 0 }-> 2 :|: z' >= 0, z = 0 leq(z, z') -{ 0 }-> 1 :|: z - 1 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 map_f(z, z') -{ 0 }-> s311 :|: s311 >= 0, s311 <= 1 + z + (z' - 1) + 0, z' - 1 >= 0, z >= 0 map_f(z, z') -{ 0 }-> s312 :|: s312 >= 0, s312 <= 1 + z + z1 + 0, z1 >= 0, z' = 1 + z1 + z2, z >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> s387 :|: s385 >= 0, s385 <= 2 * (z211 * z) + 3 * z + z211 * z211 + z211, s386 >= 0, s386 <= 1 + z + z151 + s385, s387 >= 0, s387 <= 1 + z + z1 + s386, z' = 1 + z1 + (1 + z151 + z211), z151 >= 0, z1 >= 0, z211 >= 0, z >= 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 sndsplit(z, z') -{ 0 }-> s254 :|: s254 >= 0, s254 <= z2, z1 >= 0, z' = 1 + z1 + z2, z - 1 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> z' :|: z' >= 0, z = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z - 1 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: z >= 0, z' >= 0 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: z >= 0 Function symbols to be analyzed: {IF_6,IF_7,IF_9,IF_8,IF_2,IF_4,IF_1,IF_3,RING,IF_5} Previous analysis results are: MAP_F: runtime: O(n^1) [z'], size: O(1) [0] empty: runtime: O(1) [0], size: O(1) [2] length: runtime: O(1) [0], size: O(n^1) [z] tail: runtime: O(1) [0], size: O(n^1) [z] APP: runtime: O(n^1) [z], size: O(1) [0] FSTSPLIT: runtime: O(n^1) [z'], size: O(1) [0] sndsplit: runtime: O(1) [0], size: O(n^1) [z'] leq: runtime: O(1) [0], size: O(1) [2] LENGTH: runtime: O(n^1) [z], size: O(1) [0] fstsplit: runtime: O(1) [0], size: O(n^1) [z'] SNDSPLIT: runtime: O(n^1) [z'], size: O(1) [0] head: runtime: O(1) [0], size: O(n^1) [z] app: runtime: O(1) [0], size: O(n^1) [z + z'] LEQ: runtime: O(n^1) [z'], size: O(1) [0] map_f: runtime: O(1) [0], size: O(n^2) [3*z + 2*z*z' + z' + z'^2] ---------------------------------------- (235) CompletionProof (UPPER BOUND(ID)) The TRS is a completely defined constructor system, as every type has a constant constructor and the following rules were added: leq(v0, v1) -> null_leq [0] length(v0) -> null_length [0] sndsplit(v0, v1) -> null_sndsplit [0] fstsplit(v0, v1) -> null_fstsplit [0] empty(v0) -> null_empty [0] map_f(v0, v1) -> null_map_f [0] head(v0) -> null_head [0] app(v0, v1) -> null_app [0] tail(v0) -> null_tail [0] FSTSPLIT(v0, v1) -> null_FSTSPLIT [0] SNDSPLIT(v0, v1) -> null_SNDSPLIT [0] LEQ(v0, v1) -> null_LEQ [0] LENGTH(v0) -> null_LENGTH [0] APP(v0, v1) -> null_APP [0] IF_1(v0, v1, v2, v3, v4, v5, v6) -> null_IF_1 [0] IF_3(v0, v1, v2, v3, v4, v5, v6) -> null_IF_3 [0] IF_7(v0, v1, v2, v3, v4, v5, v6) -> null_IF_7 [0] MAP_F(v0, v1) -> null_MAP_F [0] IF_2(v0, v1, v2, v3, v4, v5, v6) -> null_IF_2 [0] IF_4(v0, v1, v2, v3, v4, v5, v6) -> null_IF_4 [0] IF_5(v0, v1, v2, v3, v4, v5, v6) -> null_IF_5 [0] IF_6(v0, v1, v2, v3, v4, v5, v6) -> null_IF_6 [0] IF_8(v0, v1, v2, v3, v4, v5, v6) -> null_IF_8 [0] IF_9(v0, v1, v2, v3, v4, v5, v6) -> null_IF_9 [0] And the following fresh constants: null_leq, null_length, null_sndsplit, null_fstsplit, null_empty, null_map_f, null_head, null_app, null_tail, null_FSTSPLIT, null_SNDSPLIT, null_LEQ, null_LENGTH, null_APP, null_IF_1, null_IF_3, null_IF_7, null_MAP_F, null_IF_2, null_IF_4, null_IF_5, null_IF_6, null_IF_8, null_IF_9, const ---------------------------------------- (236) Obligation: Runtime Complexity Weighted TRS where all functions are completely defined. The underlying TRS is: Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) [1] SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) [1] LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) [1] LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) [1] APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) [1] IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) [1] IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) [1] IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) [1] MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) [1] RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) [1] RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) [1] RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) [1] IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) [1] IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) [1] IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) [1] IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) [1] IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) [1] IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) [1] IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) [1] leq(0, z0) -> true [0] leq(s(z0), 0) -> false [0] leq(s(z0), s(z1)) -> leq(z0, z1) [0] length(nil) -> 0 [0] length(cons(z0, z1)) -> s(length(z1)) [0] sndsplit(0, z0) -> z0 [0] sndsplit(s(z0), nil) -> nil [0] sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) [0] fstsplit(0, z0) -> nil [0] fstsplit(s(z0), nil) -> nil [0] fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) [0] empty(nil) -> true [0] empty(cons(z0, z1)) -> false [0] map_f(z0, nil) -> nil [0] map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) [0] head(cons(z0, z1)) -> z0 [0] app(nil, z0) -> z0 [0] app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) [0] tail(cons(z0, z1)) -> z1 [0] leq(v0, v1) -> null_leq [0] length(v0) -> null_length [0] sndsplit(v0, v1) -> null_sndsplit [0] fstsplit(v0, v1) -> null_fstsplit [0] empty(v0) -> null_empty [0] map_f(v0, v1) -> null_map_f [0] head(v0) -> null_head [0] app(v0, v1) -> null_app [0] tail(v0) -> null_tail [0] FSTSPLIT(v0, v1) -> null_FSTSPLIT [0] SNDSPLIT(v0, v1) -> null_SNDSPLIT [0] LEQ(v0, v1) -> null_LEQ [0] LENGTH(v0) -> null_LENGTH [0] APP(v0, v1) -> null_APP [0] IF_1(v0, v1, v2, v3, v4, v5, v6) -> null_IF_1 [0] IF_3(v0, v1, v2, v3, v4, v5, v6) -> null_IF_3 [0] IF_7(v0, v1, v2, v3, v4, v5, v6) -> null_IF_7 [0] MAP_F(v0, v1) -> null_MAP_F [0] IF_2(v0, v1, v2, v3, v4, v5, v6) -> null_IF_2 [0] IF_4(v0, v1, v2, v3, v4, v5, v6) -> null_IF_4 [0] IF_5(v0, v1, v2, v3, v4, v5, v6) -> null_IF_5 [0] IF_6(v0, v1, v2, v3, v4, v5, v6) -> null_IF_6 [0] IF_8(v0, v1, v2, v3, v4, v5, v6) -> null_IF_8 [0] IF_9(v0, v1, v2, v3, v4, v5, v6) -> null_IF_9 [0] The TRS has the following type information: FSTSPLIT :: s:0:null_length -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> c2:null_FSTSPLIT s :: s:0:null_length -> s:0:null_length cons :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail c2 :: c2:null_FSTSPLIT -> c2:null_FSTSPLIT SNDSPLIT :: s:0:null_length -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> c5:null_SNDSPLIT c5 :: c5:null_SNDSPLIT -> c5:null_SNDSPLIT LEQ :: s:0:null_length -> s:0:null_length -> c10:null_LEQ c10 :: c10:null_LEQ -> c10:null_LEQ LENGTH :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> c12:null_LENGTH c12 :: c12:null_LENGTH -> c12:null_LENGTH APP :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> c14:null_APP c14 :: c14:null_APP -> c14:null_APP RING :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> c20:c22:c19:c21:c23 c20 :: c26:c27:null_IF_2 -> c10:null_LEQ -> c12:null_LENGTH -> c20:c22:c19:c21:c23 IF_2 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c26:c27:null_IF_2 leq :: s:0:null_length -> s:0:null_length -> false:true:null_leq:null_empty length :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length c22 :: c34:c35:null_IF_6 -> c10:null_LEQ -> c12:null_LENGTH -> c20:c22:c19:c21:c23 IF_6 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c34:c35:null_IF_6 IF_1 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c24:c25:null_IF_1 false :: false:true:null_leq:null_empty c24 :: c20:c22:c19:c21:c23 -> c5:null_SNDSPLIT -> c24:c25:null_IF_1 sndsplit :: s:0:null_length -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail fstsplit :: s:0:null_length -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail c25 :: c20:c22:c19:c21:c23 -> c2:null_FSTSPLIT -> c24:c25:null_IF_1 IF_3 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c28:c29:null_IF_3 c28 :: c20:c22:c19:c21:c23 -> c5:null_SNDSPLIT -> c28:c29:null_IF_3 c29 :: c20:c22:c19:c21:c23 -> c2:null_FSTSPLIT -> c28:c29:null_IF_3 IF_7 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c36:null_IF_7 c36 :: c20:c22:c19:c21:c23 -> c5:null_SNDSPLIT -> c36:null_IF_7 MAP_F :: two:three -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> c16:null_MAP_F c16 :: c16:null_MAP_F -> c16:null_MAP_F c19 :: c24:c25:null_IF_1 -> c2:null_FSTSPLIT -> c20:c22:c19:c21:c23 empty :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> false:true:null_leq:null_empty c21 :: c33:null_IF_5 -> c16:null_MAP_F -> c20:c22:c19:c21:c23 IF_5 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c33:null_IF_5 map_f :: two:three -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail two :: two:three head :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail c23 :: c39:null_IF_9 -> c16:null_MAP_F -> c20:c22:c19:c21:c23 IF_9 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c39:null_IF_9 three :: two:three true :: false:true:null_leq:null_empty c26 :: c28:c29:null_IF_3 -> c2:null_FSTSPLIT -> c26:c27:null_IF_2 c27 :: c30:c31:c32:null_IF_4 -> c2:null_FSTSPLIT -> c14:null_APP -> c16:null_MAP_F -> c26:c27:null_IF_2 IF_4 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c30:c31:c32:null_IF_4 app :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail c30 :: c20:c22:c19:c21:c23 -> c30:c31:c32:null_IF_4 tail :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail c31 :: c20:c22:c19:c21:c23 -> c5:null_SNDSPLIT -> c14:null_APP -> c16:null_MAP_F -> c30:c31:c32:null_IF_4 c32 :: c20:c22:c19:c21:c23 -> c2:null_FSTSPLIT -> c14:null_APP -> c16:null_MAP_F -> c30:c31:c32:null_IF_4 c33 :: c20:c22:c19:c21:c23 -> c33:null_IF_5 c34 :: c36:null_IF_7 -> c2:null_FSTSPLIT -> c34:c35:null_IF_6 c35 :: c37:c38:null_IF_8 -> c2:null_FSTSPLIT -> c14:null_APP -> c16:null_MAP_F -> c34:c35:null_IF_6 IF_8 :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> s:0:null_length -> false:true:null_leq:null_empty -> c37:c38:null_IF_8 c37 :: c20:c22:c19:c21:c23 -> c37:c38:null_IF_8 c38 :: c20:c22:c19:c21:c23 -> c5:null_SNDSPLIT -> c14:null_APP -> c16:null_MAP_F -> c37:c38:null_IF_8 c39 :: c20:c22:c19:c21:c23 -> c39:null_IF_9 0 :: s:0:null_length nil :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail f :: two:three -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail -> cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail null_leq :: false:true:null_leq:null_empty null_length :: s:0:null_length null_sndsplit :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail null_fstsplit :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail null_empty :: false:true:null_leq:null_empty null_map_f :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail null_head :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail null_app :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail null_tail :: cons:nil:f:null_sndsplit:null_fstsplit:null_map_f:null_head:null_app:null_tail null_FSTSPLIT :: c2:null_FSTSPLIT null_SNDSPLIT :: c5:null_SNDSPLIT null_LEQ :: c10:null_LEQ null_LENGTH :: c12:null_LENGTH null_APP :: c14:null_APP null_IF_1 :: c24:c25:null_IF_1 null_IF_3 :: c28:c29:null_IF_3 null_IF_7 :: c36:null_IF_7 null_MAP_F :: c16:null_MAP_F null_IF_2 :: c26:c27:null_IF_2 null_IF_4 :: c30:c31:c32:null_IF_4 null_IF_5 :: c33:null_IF_5 null_IF_6 :: c34:c35:null_IF_6 null_IF_8 :: c37:c38:null_IF_8 null_IF_9 :: c39:null_IF_9 const :: c20:c22:c19:c21:c23 Rewrite Strategy: INNERMOST ---------------------------------------- (237) CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID)) Transformed the TRS into an over-approximating RNTS by (improved) Size Abstraction. The constant constructors are abstracted as follows: false => 1 two => 1 three => 0 true => 2 0 => 0 nil => 0 null_leq => 0 null_length => 0 null_sndsplit => 0 null_fstsplit => 0 null_empty => 0 null_map_f => 0 null_head => 0 null_app => 0 null_tail => 0 null_FSTSPLIT => 0 null_SNDSPLIT => 0 null_LEQ => 0 null_LENGTH => 0 null_APP => 0 null_IF_1 => 0 null_IF_3 => 0 null_IF_7 => 0 null_MAP_F => 0 null_IF_2 => 0 null_IF_4 => 0 null_IF_5 => 0 null_IF_6 => 0 null_IF_8 => 0 null_IF_9 => 0 const => 0 ---------------------------------------- (238) Obligation: Complexity RNTS consisting of the following rules: APP(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 APP(z, z') -{ 1 }-> 1 + APP(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 FSTSPLIT(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 FSTSPLIT(z, z') -{ 1 }-> 1 + FSTSPLIT(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 IF_1(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z5, z0), 1 + fstsplit(z5, z0) + z1, z2, z3, z4, z5) + SNDSPLIT(z5, z0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_1(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(sndsplit(z5, z0), 1 + fstsplit(z5, z0) + z1, z2, z3, z4, z5) + FSTSPLIT(z5, z0) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))) + FSTSPLIT(z5, z2) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 IF_2(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(1, head(z1)), z2)))) + FSTSPLIT(z5, app(map_f(1, head(z1)), z2)) + APP(map_f(1, head(z1)), z2) + MAP_F(1, head(z1)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z5, z2), 1 + fstsplit(z5, z2) + z3, z4, z5) + SNDSPLIT(z5, z2) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_3(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, sndsplit(z5, z2), 1 + fstsplit(z5, z2) + z3, z4, z5) + FSTSPLIT(z5, z2) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, tail(z1), sndsplit(z5, app(map_f(1, head(z1)), z2)), 1 + fstsplit(z5, app(map_f(1, head(z1)), z2)) + z3, z4, z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, tail(z1), sndsplit(z5, app(map_f(1, head(z1)), z2)), 1 + fstsplit(z5, app(map_f(1, head(z1)), z2)) + z3, z4, z5) + SNDSPLIT(z5, app(map_f(1, head(z1)), z2)) + APP(map_f(1, head(z1)), z2) + MAP_F(1, head(z1)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_4(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, tail(z1), sndsplit(z5, app(map_f(1, head(z1)), z2)), 1 + fstsplit(z5, app(map_f(1, head(z1)), z2)) + z3, z4, z5) + FSTSPLIT(z5, app(map_f(1, head(z1)), z2)) + APP(map_f(1, head(z1)), z2) + MAP_F(1, head(z1)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_5(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_5(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, tail(z1), z2, z3, z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))) + FSTSPLIT(z5, z4) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 IF_6(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(0, head(z3)), z4)))) + FSTSPLIT(z5, app(map_f(0, head(z3)), z4)) + APP(map_f(0, head(z3)), z4) + MAP_F(0, head(z3)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_7(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_7(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, z3, sndsplit(z5, z4), z5) + SNDSPLIT(z5, z4) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(0, head(z3)), z4)), z5) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_8(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(0, head(z3)), z4)), z5) + SNDSPLIT(z5, app(map_f(0, head(z3)), z4)) + APP(map_f(0, head(z3)), z4) + MAP_F(0, head(z3)) :|: z9 = 1, z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z8 = z5 IF_9(z, z', z'', z6, z7, z8, z9) -{ 0 }-> 0 :|: z6 = v3, v0 >= 0, v6 >= 0, z'' = v2, v1 >= 0, v5 >= 0, z = v0, z' = v1, v2 >= 0, v3 >= 0, v4 >= 0, z7 = v4, z8 = v5, z9 = v6 IF_9(z, z', z'', z6, z7, z8, z9) -{ 1 }-> 1 + RING(z0, z1, z2, tail(z3), z4, z5) :|: z'' = z2, z5 >= 0, z = z0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z2 >= 0, z3 >= 0, z1 >= 0, z9 = 2, z8 = z5 LENGTH(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 LENGTH(z) -{ 1 }-> 1 + LENGTH(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 LEQ(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 LEQ(z, z') -{ 1 }-> 1 + LEQ(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 MAP_F(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 MAP_F(z, z') -{ 1 }-> 1 + MAP_F(z0, z2) :|: z = z0, z1 >= 0, z' = 1 + z1 + z2, z0 >= 0, z2 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(0, head(z3)))) + MAP_F(0, head(z3)) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(1, head(z1)))) + MAP_F(1, head(z1)) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))) + FSTSPLIT(z5, z0) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))) + LEQ(z5, length(z4)) + LENGTH(z4) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 RING(z, z', z'', z6, z7, z8) -{ 1 }-> 1 + IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))) + LEQ(z5, length(z2)) + LENGTH(z2) :|: z'' = z2, z5 >= 0, z = z0, z1 >= 0, z6 = z3, z7 = z4, z' = z1, z0 >= 0, z4 >= 0, z8 = z5, z2 >= 0, z3 >= 0 SNDSPLIT(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 SNDSPLIT(z, z') -{ 1 }-> 1 + SNDSPLIT(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 app(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 app(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 app(z, z') -{ 0 }-> 1 + z0 + app(z1, z2) :|: z1 >= 0, z' = z2, z0 >= 0, z = 1 + z0 + z1, z2 >= 0 empty(z) -{ 0 }-> 2 :|: z = 0 empty(z) -{ 0 }-> 1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 empty(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 fstsplit(z, z') -{ 0 }-> 0 :|: z0 >= 0, z = 0, z' = z0 fstsplit(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 fstsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 fstsplit(z, z') -{ 0 }-> 1 + z1 + fstsplit(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 head(z) -{ 0 }-> z0 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 head(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 0 }-> 0 :|: z = 0 length(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 length(z) -{ 0 }-> 1 + length(z1) :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 leq(z, z') -{ 0 }-> leq(z0, z1) :|: z1 >= 0, z = 1 + z0, z0 >= 0, z' = 1 + z1 leq(z, z') -{ 0 }-> 2 :|: z0 >= 0, z = 0, z' = z0 leq(z, z') -{ 0 }-> 1 :|: z = 1 + z0, z0 >= 0, z' = 0 leq(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 map_f(z, z') -{ 0 }-> app(1 + z0 + z1, map_f(z0, z2)) :|: z = z0, z1 >= 0, z' = 1 + z1 + z2, z0 >= 0, z2 >= 0 map_f(z, z') -{ 0 }-> 0 :|: z = z0, z0 >= 0, z' = 0 map_f(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 sndsplit(z, z') -{ 0 }-> z0 :|: z0 >= 0, z = 0, z' = z0 sndsplit(z, z') -{ 0 }-> sndsplit(z0, z2) :|: z1 >= 0, z' = 1 + z1 + z2, z = 1 + z0, z0 >= 0, z2 >= 0 sndsplit(z, z') -{ 0 }-> 0 :|: z = 1 + z0, z0 >= 0, z' = 0 sndsplit(z, z') -{ 0 }-> 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1 tail(z) -{ 0 }-> z1 :|: z1 >= 0, z0 >= 0, z = 1 + z0 + z1 tail(z) -{ 0 }-> 0 :|: v0 >= 0, z = v0 Only complete derivations are relevant for the runtime complexity. ---------------------------------------- (239) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) We considered the (Usable) Rules: map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) map_f(z0, nil) -> nil And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = [1] POL(APP(x_1, x_2)) = x_1 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = 0 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = 0 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] + x_2 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = [1] + x_1 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = x_1 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] + x_1 POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (240) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, RING_6, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c20_3, c22_3, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c19_2, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1 ---------------------------------------- (241) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(z0, z1, z2, z3, z4, z5) -> c20(IF_2(z0, z1, z2, z3, z4, z5, leq(z5, length(z2))), LEQ(z5, length(z2)), LENGTH(z2)) by RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LEQ(0, length(x2)), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil)), LENGTH(nil)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) ---------------------------------------- (242) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LEQ(0, length(x2)), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil)), LENGTH(nil)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LEQ(0, length(x2)), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil)), LENGTH(nil)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, RING_6, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c22_3, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c19_2, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3 ---------------------------------------- (243) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (244) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, RING_6, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c22_3, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c19_2, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2 ---------------------------------------- (245) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(z0, z1, z2, z3, z4, z5) -> c22(IF_6(z0, z1, z2, z3, z4, z5, leq(z5, length(z4))), LEQ(z5, length(z4)), LENGTH(z4)) by RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LEQ(0, length(x4)), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil)), LENGTH(nil)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) ---------------------------------------- (246) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LEQ(0, length(x4)), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil)), LENGTH(nil)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LEQ(0, length(x4)), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil)), LENGTH(nil)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, RING_6, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c19_2, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3 ---------------------------------------- (247) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (248) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, RING_6, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c19_2, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2 ---------------------------------------- (249) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(z0, z1, z2, z3, z4, z5) -> c19(IF_1(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z0))), FSTSPLIT(z5, z0)) by RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, z0)) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) ---------------------------------------- (250) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, z0)) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, z0)) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, RING_6, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2 ---------------------------------------- (251) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (252) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, RING_6, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1 ---------------------------------------- (253) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil empty(nil) -> true empty(cons(z0, z1)) -> false fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = [1] POL(head(x_1)) = [1] + x_1 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] + x_1 POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (254) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, RING_6, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c21_2, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1 ---------------------------------------- (255) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(z0, z1, z2, z3, z4, z5) -> c21(IF_5(z0, z1, z2, z3, z4, z5, empty(map_f(two, head(z1)))), MAP_F(two, head(z1))) by RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) ---------------------------------------- (256) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, RING_6, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c23_2, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2 ---------------------------------------- (257) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(z0, z1, z2, z3, z4, z5) -> c23(IF_9(z0, z1, z2, z3, z4, z5, empty(map_f(three, head(z3)))), MAP_F(three, head(z3))) by RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) ---------------------------------------- (258) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c26_2, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2 ---------------------------------------- (259) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_2(z0, z1, z2, z3, z4, z5, true) -> c26(IF_3(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z2))), FSTSPLIT(z5, z2)) by IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil)), FSTSPLIT(0, z0)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) ---------------------------------------- (260) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil)), FSTSPLIT(0, z0)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil)), FSTSPLIT(0, z0)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2 ---------------------------------------- (261) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (262) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1 ---------------------------------------- (263) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) We considered the (Usable) Rules: empty(nil) -> true empty(cons(z0, z1)) -> false And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] + x_1 POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (264) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_2_7, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c27_4, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1 ---------------------------------------- (265) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_2(z0, z1, z2, z3, z4, z5, false) -> c27(IF_4(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(two, head(z1)), z2)))), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) by IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, app(map_f(two, head(x1)), x2)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) ---------------------------------------- (266) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, app(map_f(two, head(x1)), x2)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, app(map_f(two, head(x1)), x2)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4 ---------------------------------------- (267) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (268) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3 ---------------------------------------- (269) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil empty(nil) -> true empty(cons(z0, z1)) -> false fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = [1] POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] + x_1 POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (270) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c31_4, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3 ---------------------------------------- (271) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_4(z0, z1, z2, z3, z4, z5, false) -> c31(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), SNDSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) by IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) ---------------------------------------- (272) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c32_4, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1 ---------------------------------------- (273) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_4(z0, z1, z2, z3, z4, z5, false) -> c32(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5), FSTSPLIT(z5, app(map_f(two, head(z1)), z2)), APP(map_f(two, head(z1)), z2), MAP_F(two, head(z1))) by IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) ---------------------------------------- (274) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c34_2, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1 ---------------------------------------- (275) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_6(z0, z1, z2, z3, z4, z5, true) -> c34(IF_7(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, z4))), FSTSPLIT(z5, z4)) by IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil)), FSTSPLIT(0, z0)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) ---------------------------------------- (276) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil)), FSTSPLIT(0, z0)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil)), FSTSPLIT(0, z0)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil)), FSTSPLIT(s(z0), nil)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2 ---------------------------------------- (277) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (278) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1 ---------------------------------------- (279) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil empty(nil) -> true empty(cons(z0, z1)) -> false fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = [1] POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (280) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_6_7, IF_8_7, IF_9_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c35_4, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1 ---------------------------------------- (281) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_6(z0, z1, z2, z3, z4, z5, false) -> c35(IF_8(z0, z1, z2, z3, z4, z5, empty(fstsplit(z5, app(map_f(three, head(z3)), z4)))), FSTSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) by IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, app(map_f(three, head(x3)), x4)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) ---------------------------------------- (282) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, app(map_f(three, head(x3)), x4)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), FSTSPLIT(0, app(map_f(three, head(x3)), x4)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4 ---------------------------------------- (283) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (284) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3 ---------------------------------------- (285) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil empty(nil) -> true empty(cons(z0, z1)) -> false fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = [1] POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] + x_1 POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (286) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c38_4, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3 ---------------------------------------- (287) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_8(z0, z1, z2, z3, z4, z5, false) -> c38(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5), SNDSPLIT(z5, app(map_f(three, head(z3)), z4)), APP(map_f(three, head(z3)), z4), MAP_F(three, head(z3))) by IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) ---------------------------------------- (288) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_3, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1 ---------------------------------------- (289) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(x0, x1, cons(z0, z1), x3, x4, x5) -> c20(IF_2(x0, x1, cons(z0, z1), x3, x4, x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) by RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LEQ(0, length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c20(LEQ(x6, length(cons(x2, x3))), LENGTH(cons(x2, x3))) ---------------------------------------- (290) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LEQ(0, length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c20(LEQ(x6, length(cons(x2, x3))), LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LEQ(0, length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c20(LEQ(x6, length(cons(x2, x3))), LENGTH(cons(x2, x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3 ---------------------------------------- (291) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (292) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c20(LEQ(x6, length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c20(LEQ(x6, length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3 ---------------------------------------- (293) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (294) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1 ---------------------------------------- (295) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) We considered the (Usable) Rules: sndsplit(s(z0), nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) sndsplit(0, z0) -> z0 map_f(z0, nil) -> nil app(nil, z0) -> z0 sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_3 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_1 + x_2 POL(c(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] + x_2 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = 0 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = x_2 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (296) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1 ---------------------------------------- (297) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(x0, x1, nil, x3, x4, x5) -> c20(IF_2(x0, x1, nil, x3, x4, x5, leq(x5, 0)), LEQ(x5, length(nil))) by RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true), LEQ(0, length(nil))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) ---------------------------------------- (298) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true), LEQ(0, length(nil))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true), LEQ(0, length(nil))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1 ---------------------------------------- (299) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (300) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1 ---------------------------------------- (301) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) We considered the (Usable) Rules: sndsplit(s(z0), nil) -> nil app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) sndsplit(0, z0) -> z0 app(nil, z0) -> z0 sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_3 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = x_2 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = [1] POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = x_2 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (302) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_3, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1 ---------------------------------------- (303) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(x0, x1, x2, x3, cons(z0, z1), x5) -> c22(IF_6(x0, x1, x2, x3, cons(z0, z1), x5, leq(x5, s(length(z1)))), LEQ(x5, length(cons(z0, z1))), LENGTH(cons(z0, z1))) by RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LEQ(0, length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c22(LEQ(x6, length(cons(x4, x5))), LENGTH(cons(x4, x5))) ---------------------------------------- (304) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LEQ(0, length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c22(LEQ(x6, length(cons(x4, x5))), LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LEQ(0, length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c22(LEQ(x6, length(cons(x4, x5))), LENGTH(cons(x4, x5))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3 ---------------------------------------- (305) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (306) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c22(LEQ(x6, length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c22(LEQ(x6, length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3 ---------------------------------------- (307) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (308) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1 ---------------------------------------- (309) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) We considered the (Usable) Rules: sndsplit(s(z0), nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) sndsplit(0, z0) -> z0 map_f(z0, nil) -> nil app(nil, z0) -> z0 sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_5 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_1 + x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] + x_2 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = 0 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = x_2 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (310) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1 ---------------------------------------- (311) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(x0, x1, x2, x3, nil, x5) -> c22(IF_6(x0, x1, x2, x3, nil, x5, leq(x5, 0)), LEQ(x5, length(nil))) by RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true), LEQ(0, length(nil))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) ---------------------------------------- (312) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true), LEQ(0, length(nil))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true), LEQ(0, length(nil))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1 ---------------------------------------- (313) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (314) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1 ---------------------------------------- (315) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) We considered the (Usable) Rules: sndsplit(s(z0), nil) -> nil app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) sndsplit(0, z0) -> z0 app(nil, z0) -> z0 sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_5 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = x_2 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = [1] POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = x_2 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (316) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1 ---------------------------------------- (317) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(cons(z1, z2), x1, x2, x3, x4, s(z0)) -> c19(IF_1(cons(z1, z2), x1, x2, x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) by RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) ---------------------------------------- (318) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2 ---------------------------------------- (319) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) We considered the (Usable) Rules:none And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_2 + x_6 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_6 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = [1] + x_1 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (320) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2 ---------------------------------------- (321) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) by RING(x0, x1, x2, x3, x4, 0) -> c19(IF_1(x0, x1, x2, x3, x4, 0, true)) ---------------------------------------- (322) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, x1, x2, x3, x4, 0) -> c19(IF_1(x0, x1, x2, x3, x4, 0, true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(z0, x1, x2, x3, x4, 0) -> c19(IF_1(z0, x1, x2, x3, x4, 0, empty(nil))) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2 ---------------------------------------- (323) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: RING(x0, x1, x2, x3, x4, 0) -> c19(IF_1(x0, x1, x2, x3, x4, 0, true)) ---------------------------------------- (324) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c19_1, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2 ---------------------------------------- (325) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) by RING(nil, x0, x1, x2, x3, s(x4)) -> c19(IF_1(nil, x0, x1, x2, x3, s(x4), true)) ---------------------------------------- (326) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(nil, x0, x1, x2, x3, s(x4)) -> c19(IF_1(nil, x0, x1, x2, x3, s(x4), true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) RING(nil, x1, x2, x3, x4, s(z0)) -> c19(IF_1(nil, x1, x2, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1 ---------------------------------------- (327) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: RING(nil, x0, x1, x2, x3, s(x4)) -> c19(IF_1(nil, x0, x1, x2, x3, s(x4), true)) ---------------------------------------- (328) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c21_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1 ---------------------------------------- (329) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(x0, cons(z0, z1), x2, x3, x4, x5) -> c21(IF_5(x0, cons(z0, z1), x2, x3, x4, x5, empty(map_f(two, z0))), MAP_F(two, head(cons(z0, z1)))) by RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(app(f(two, z1), map_f(two, z2)))), MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) ---------------------------------------- (330) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(app(f(two, z1), map_f(two, z2)))), MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(app(f(two, z1), map_f(two, z2)))), MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1 ---------------------------------------- (331) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (332) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1 ---------------------------------------- (333) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) We considered the (Usable) Rules: leq(0, z0) -> true empty(nil) -> true empty(cons(z0, z1)) -> false leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_2 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = [1] POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = [1] POL(two) = 0 ---------------------------------------- (334) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c23_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1 ---------------------------------------- (335) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace RING(x0, x1, x2, cons(z0, z1), x4, x5) -> c23(IF_9(x0, x1, x2, cons(z0, z1), x4, x5, empty(map_f(three, z0))), MAP_F(three, head(cons(z0, z1)))) by RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(app(f(three, z1), map_f(three, z2)))), MAP_F(three, head(cons(cons(z1, z2), x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) ---------------------------------------- (336) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(app(f(three, z1), map_f(three, z2)))), MAP_F(three, head(cons(cons(z1, z2), x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(app(f(three, z1), map_f(three, z2)))), MAP_F(three, head(cons(cons(z1, z2), x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1 ---------------------------------------- (337) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (338) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1 ---------------------------------------- (339) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) We considered the (Usable) Rules: leq(0, z0) -> true empty(nil) -> true empty(cons(z0, z1)) -> false leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_2 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = [1] POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = [1] POL(two) = 0 ---------------------------------------- (340) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c26_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1 ---------------------------------------- (341) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_2(x0, x1, cons(z1, z2), x3, x4, s(z0), true) -> c26(IF_3(x0, x1, cons(z1, z2), x3, x4, s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) by IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) ---------------------------------------- (342) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2 ---------------------------------------- (343) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) We considered the (Usable) Rules:none And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_2 + x_6 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_6 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = [1] POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (344) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2 ---------------------------------------- (345) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) by IF_2(x0, x1, x2, x3, x4, 0, true) -> c26(IF_3(x0, x1, x2, x3, x4, 0, true)) ---------------------------------------- (346) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) IF_2(x0, x1, x2, x3, x4, 0, true) -> c26(IF_3(x0, x1, x2, x3, x4, 0, true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, z0, x3, x4, 0, true) -> c26(IF_3(x0, x1, z0, x3, x4, 0, empty(nil))) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2 ---------------------------------------- (347) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: RING(x0, x1, nil, x2, x3, 0) -> c20(IF_2(x0, x1, nil, x2, x3, 0, true)) IF_2(x0, x1, x2, x3, x4, 0, true) -> c26(IF_3(x0, x1, x2, x3, x4, 0, true)) ---------------------------------------- (348) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c20(IF_2(x0, x1, x2, x3, x4, 0, true), LENGTH(x2)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, 0, true), LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c20_2, c22_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2 ---------------------------------------- (349) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (350) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2 ---------------------------------------- (351) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) We considered the (Usable) Rules:none And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = [1] POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_2 + x_6 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_6 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = 0 POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (352) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2 ---------------------------------------- (353) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) empty(nil) -> true map_f(z0, nil) -> nil empty(cons(z0, z1)) -> false app(nil, z0) -> z0 fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = [1] POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 + x_6 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 + x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 + x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] + x_6 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_1 + x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = 0 POL(false) = [1] POL(fstsplit(x_1, x_2)) = x_2 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = x_1 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (354) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c26_1, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2 ---------------------------------------- (355) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) by IF_2(x0, x1, nil, x2, x3, s(x4), true) -> c26(IF_3(x0, x1, nil, x2, x3, s(x4), true)) ---------------------------------------- (356) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, x1, nil, x2, x3, s(x4), true) -> c26(IF_3(x0, x1, nil, x2, x3, s(x4), true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, nil, x3, x4, s(z0), true) -> c26(IF_3(x0, x1, nil, x3, x4, s(z0), empty(nil))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1 ---------------------------------------- (357) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: IF_2(x0, x1, nil, x2, x3, s(x4), true) -> c26(IF_3(x0, x1, nil, x2, x3, s(x4), true)) ---------------------------------------- (358) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c27_4, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1 ---------------------------------------- (359) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_2(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c27(IF_4(x0, cons(z0, z1), x2, x3, x4, x5, empty(fstsplit(x5, app(map_f(two, z0), x2)))), FSTSPLIT(x5, app(map_f(two, head(cons(z0, z1))), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) by IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), FSTSPLIT(0, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c27(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) ---------------------------------------- (360) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), FSTSPLIT(0, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c27(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), FSTSPLIT(0, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c27(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4 ---------------------------------------- (361) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (362) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c27(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c27(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4 ---------------------------------------- (363) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (364) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c3_1 ---------------------------------------- (365) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) We considered the (Usable) Rules: leq(0, z0) -> true empty(nil) -> true empty(cons(z0, z1)) -> false leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_2 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = [1] POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = x_1 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = [1] POL(two) = 0 ---------------------------------------- (366) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c3_1 ---------------------------------------- (367) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil empty(nil) -> true empty(cons(z0, z1)) -> false fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = [1] POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = [1] + x_1 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (368) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c27_3, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c3_1 ---------------------------------------- (369) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) by IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, true), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) ---------------------------------------- (370) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, true), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1 ---------------------------------------- (371) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (372) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c27_2 ---------------------------------------- (373) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (374) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_4, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1 ---------------------------------------- (375) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), SNDSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) by IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), SNDSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), SNDSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) ---------------------------------------- (376) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), SNDSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), SNDSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), SNDSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), SNDSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4 ---------------------------------------- (377) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (378) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3 ---------------------------------------- (379) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) We considered the (Usable) Rules: leq(0, z0) -> true empty(nil) -> true empty(cons(z0, z1)) -> false leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_2 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = [1] POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = 0 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = [1] POL(two) = 0 ---------------------------------------- (380) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_4, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3 ---------------------------------------- (381) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_4(x0, cons(z0, z1), x2, x3, x4, x5, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), cons(fstsplit(x5, app(map_f(two, head(cons(z0, z1))), x2)), x3), x4, x5), FSTSPLIT(x5, app(map_f(two, z0), x2)), APP(map_f(two, head(cons(z0, z1))), x2), MAP_F(two, head(cons(z0, z1)))) by IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), FSTSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), FSTSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) ---------------------------------------- (382) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), FSTSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), FSTSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), FSTSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), FSTSPLIT(0, app(map_f(two, x1), x3)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4 ---------------------------------------- (383) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (384) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3 ---------------------------------------- (385) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil empty(nil) -> true empty(cons(z0, z1)) -> false app(nil, z0) -> z0 fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_3 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = x_2 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (386) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_1, c34_2, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3 ---------------------------------------- (387) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_6(x0, x1, x2, x3, cons(z1, z2), s(z0), true) -> c34(IF_7(x0, x1, x2, x3, cons(z1, z2), s(z0), empty(cons(z1, fstsplit(z0, z2)))), FSTSPLIT(s(z0), cons(z1, z2))) by IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) ---------------------------------------- (388) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_1, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2 ---------------------------------------- (389) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) We considered the (Usable) Rules:none And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_2 + x_6 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = x_6 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = 0 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = 0 POL(fstsplit(x_1, x_2)) = 0 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = [1] POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (390) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_1, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2 ---------------------------------------- (391) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) by IF_6(x0, x1, x2, x3, x4, 0, true) -> c34(IF_7(x0, x1, x2, x3, x4, 0, true)) ---------------------------------------- (392) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) IF_6(x0, x1, x2, x3, x4, 0, true) -> c34(IF_7(x0, x1, x2, x3, x4, 0, true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c27(IF_4(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(two, head(x1)), x2), MAP_F(two, head(x1))) IF_6(x0, x1, x2, x3, z0, 0, true) -> c34(IF_7(x0, x1, x2, x3, z0, 0, empty(nil))) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_1, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2 ---------------------------------------- (393) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing nodes: IF_6(x0, x1, x2, x3, x4, 0, true) -> c34(IF_7(x0, x1, x2, x3, x4, 0, true)) RING(x0, x1, x2, x3, nil, 0) -> c22(IF_6(x0, x1, x2, x3, nil, 0, true)) ---------------------------------------- (394) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) RING(x0, x1, x2, x3, x4, 0) -> c22(IF_6(x0, x1, x2, x3, x4, 0, true), LENGTH(x4)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), 0, true), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_6_7, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c22_2, c31_1, c32_1, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2 ---------------------------------------- (395) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 2 trailing tuple parts ---------------------------------------- (396) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2 ---------------------------------------- (397) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) We considered the (Usable) Rules: leq(0, z0) -> true empty(nil) -> true empty(cons(z0, z1)) -> false leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = [1] POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 + x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 + x_7 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 + x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 + x_7 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_6 + x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_6 POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] + x_6 POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = [1] POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = 0 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = [1] POL(two) = 0 ---------------------------------------- (398) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2 ---------------------------------------- (399) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) empty(nil) -> true map_f(z0, nil) -> nil empty(cons(z0, z1)) -> false app(nil, z0) -> z0 fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_5 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = x_1 + x_2 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = 0 POL(false) = [1] POL(fstsplit(x_1, x_2)) = x_2 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (400) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c34_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2 ---------------------------------------- (401) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) by IF_6(x0, x1, x2, x3, nil, s(x4), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(x4), true)) ---------------------------------------- (402) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, x3, nil, s(x4), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(x4), true)) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, nil, s(z0), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(z0), empty(nil))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1 ---------------------------------------- (403) CdtLeafRemovalProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing nodes: IF_6(x0, x1, x2, x3, nil, s(x4), true) -> c34(IF_7(x0, x1, x2, x3, nil, s(x4), true)) ---------------------------------------- (404) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c35_4, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1 ---------------------------------------- (405) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_6(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c35(IF_8(x0, x1, x2, cons(z0, z1), x4, x5, empty(fstsplit(x5, app(map_f(three, z0), x4)))), FSTSPLIT(x5, app(map_f(three, head(cons(z0, z1))), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) by IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), FSTSPLIT(0, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c35(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) ---------------------------------------- (406) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), FSTSPLIT(0, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c35(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), FSTSPLIT(0, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c35(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4 ---------------------------------------- (407) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (408) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c35(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c35(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4 ---------------------------------------- (409) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (410) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c6_1 ---------------------------------------- (411) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) We considered the (Usable) Rules: leq(0, z0) -> true empty(nil) -> true empty(cons(z0, z1)) -> false leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = [1] POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = 0 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = [1] POL(two) = 0 ---------------------------------------- (412) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c6_1 ---------------------------------------- (413) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) We considered the (Usable) Rules: fstsplit(s(z0), nil) -> nil empty(nil) -> true empty(cons(z0, z1)) -> false fstsplit(0, z0) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(cons(x_1, x_2)) = [1] POL(empty(x_1)) = x_1 POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = [1] POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = 0 POL(two) = 0 ---------------------------------------- (414) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, IF_6_7, RING_6, IF_2_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c35_3, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c6_1 ---------------------------------------- (415) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) by IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, true), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) ---------------------------------------- (416) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, true), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c35_3, c6_1 ---------------------------------------- (417) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (418) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c35_3, c6_1, c35_2 ---------------------------------------- (419) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID)) Split RHS of tuples not part of any SCC ---------------------------------------- (420) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(APP(map_f(three, head(x3)), x4)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(MAP_F(three, head(x3))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c38_4, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c35_3, c6_1, c7_1 ---------------------------------------- (421) CdtNarrowingProof (BOTH BOUNDS(ID, ID)) Use narrowing to replace IF_8(x0, x1, x2, cons(z0, z1), x4, x5, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x5, app(map_f(three, head(cons(z0, z1))), x4)), x5), SNDSPLIT(x5, app(map_f(three, z0), x4)), APP(map_f(three, head(cons(z0, z1))), x4), MAP_F(three, head(cons(z0, z1)))) by IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), SNDSPLIT(0, app(map_f(three, x3), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) ---------------------------------------- (422) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(APP(map_f(three, head(x3)), x4)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), SNDSPLIT(0, app(map_f(three, x3), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), SNDSPLIT(0, app(map_f(three, x3), x5)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c35_3, c6_1, c7_1, c38_4 ---------------------------------------- (423) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID)) Removed 1 trailing tuple parts ---------------------------------------- (424) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(APP(map_f(three, head(x3)), x4)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c35_3, c6_1, c7_1, c38_4, c38_3 ---------------------------------------- (425) CdtRuleRemovalProof (UPPER BOUND(ADD(n^1))) Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S. IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) We considered the (Usable) Rules: leq(0, z0) -> true empty(nil) -> true empty(cons(z0, z1)) -> false leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) And the Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(APP(map_f(three, head(x3)), x4)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) The order we found is given by the following interpretation: Polynomial interpretation : POL(0) = 0 POL(APP(x_1, x_2)) = 0 POL(FSTSPLIT(x_1, x_2)) = 0 POL(IF_1(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_2(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_3(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_4(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_5(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] + x_2 POL(IF_6(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(IF_7(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_8(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = x_7 POL(IF_9(x_1, x_2, x_3, x_4, x_5, x_6, x_7)) = [1] POL(LENGTH(x_1)) = 0 POL(LEQ(x_1, x_2)) = 0 POL(MAP_F(x_1, x_2)) = x_1 POL(RING(x_1, x_2, x_3, x_4, x_5, x_6)) = [1] POL(SNDSPLIT(x_1, x_2)) = 0 POL(app(x_1, x_2)) = 0 POL(c(x_1)) = x_1 POL(c1(x_1)) = x_1 POL(c10(x_1)) = x_1 POL(c12(x_1)) = x_1 POL(c14(x_1)) = x_1 POL(c16(x_1)) = x_1 POL(c19(x_1)) = x_1 POL(c19(x_1, x_2)) = x_1 + x_2 POL(c2(x_1)) = x_1 POL(c20(x_1)) = x_1 POL(c20(x_1, x_2)) = x_1 + x_2 POL(c20(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c21(x_1)) = x_1 POL(c21(x_1, x_2)) = x_1 + x_2 POL(c22(x_1)) = x_1 POL(c22(x_1, x_2)) = x_1 + x_2 POL(c22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c23(x_1)) = x_1 POL(c23(x_1, x_2)) = x_1 + x_2 POL(c24(x_1, x_2)) = x_1 + x_2 POL(c25(x_1, x_2)) = x_1 + x_2 POL(c26(x_1)) = x_1 POL(c26(x_1, x_2)) = x_1 + x_2 POL(c27(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c27(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c28(x_1, x_2)) = x_1 + x_2 POL(c29(x_1, x_2)) = x_1 + x_2 POL(c3(x_1)) = x_1 POL(c30(x_1)) = x_1 POL(c31(x_1)) = x_1 POL(c31(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c31(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c32(x_1)) = x_1 POL(c32(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c32(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c33(x_1)) = x_1 POL(c34(x_1)) = x_1 POL(c34(x_1, x_2)) = x_1 + x_2 POL(c35(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c35(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c36(x_1, x_2)) = x_1 + x_2 POL(c37(x_1)) = x_1 POL(c38(x_1)) = x_1 POL(c38(x_1, x_2, x_3)) = x_1 + x_2 + x_3 POL(c38(x_1, x_2, x_3, x_4)) = x_1 + x_2 + x_3 + x_4 POL(c39(x_1)) = x_1 POL(c4(x_1)) = x_1 POL(c5(x_1)) = x_1 POL(c6(x_1)) = x_1 POL(c7(x_1)) = x_1 POL(cons(x_1, x_2)) = 0 POL(empty(x_1)) = [1] POL(f(x_1, x_2)) = [1] + x_1 + x_2 POL(false) = [1] POL(fstsplit(x_1, x_2)) = 0 POL(head(x_1)) = 0 POL(length(x_1)) = 0 POL(leq(x_1, x_2)) = [1] POL(map_f(x_1, x_2)) = 0 POL(nil) = 0 POL(s(x_1)) = 0 POL(sndsplit(x_1, x_2)) = 0 POL(tail(x_1)) = [1] POL(three) = 0 POL(true) = [1] POL(two) = 0 ---------------------------------------- (426) Obligation: Complexity Dependency Tuples Problem Rules: leq(0, z0) -> true leq(s(z0), 0) -> false leq(s(z0), s(z1)) -> leq(z0, z1) length(nil) -> 0 length(cons(z0, z1)) -> s(length(z1)) sndsplit(0, z0) -> z0 sndsplit(s(z0), nil) -> nil sndsplit(s(z0), cons(z1, z2)) -> sndsplit(z0, z2) fstsplit(0, z0) -> nil fstsplit(s(z0), nil) -> nil fstsplit(s(z0), cons(z1, z2)) -> cons(z1, fstsplit(z0, z2)) empty(nil) -> true empty(cons(z0, z1)) -> false map_f(z0, nil) -> nil map_f(z0, cons(z1, z2)) -> app(f(z0, z1), map_f(z0, z2)) head(cons(z0, z1)) -> z0 app(nil, z0) -> z0 app(cons(z0, z1), z2) -> cons(z0, app(z1, z2)) tail(cons(z0, z1)) -> z1 Tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(APP(map_f(two, head(x1)), x2)) IF_2(x0, x1, x2, x3, x4, 0, false) -> c4(MAP_F(two, head(x1))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(APP(map_f(three, head(x3)), x4)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c7(MAP_F(three, head(x3))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) S tuples: FSTSPLIT(s(z0), cons(z1, z2)) -> c2(FSTSPLIT(z0, z2)) SNDSPLIT(s(z0), cons(z1, z2)) -> c5(SNDSPLIT(z0, z2)) LEQ(s(z0), s(z1)) -> c10(LEQ(z0, z1)) LENGTH(cons(z0, z1)) -> c12(LENGTH(z1)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c24(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), SNDSPLIT(z5, z0)) IF_1(z0, z1, z2, z3, z4, z5, false) -> c25(RING(sndsplit(z5, z0), cons(fstsplit(z5, z0), z1), z2, z3, z4, z5), FSTSPLIT(z5, z0)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c28(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), SNDSPLIT(z5, z2)) IF_3(z0, z1, z2, z3, z4, z5, false) -> c29(RING(z0, z1, sndsplit(z5, z2), cons(fstsplit(z5, z2), z3), z4, z5), FSTSPLIT(z5, z2)) IF_7(z0, z1, z2, z3, z4, z5, false) -> c36(RING(z0, z1, z2, z3, sndsplit(z5, z4), z5), SNDSPLIT(z5, z4)) MAP_F(z0, cons(z1, z2)) -> c16(MAP_F(z0, z2)) IF_4(z0, z1, z2, z3, z4, z5, false) -> c30(RING(z0, tail(z1), sndsplit(z5, app(map_f(two, head(z1)), z2)), cons(fstsplit(z5, app(map_f(two, head(z1)), z2)), z3), z4, z5)) IF_5(z0, z1, z2, z3, z4, z5, true) -> c33(RING(z0, tail(z1), z2, z3, z4, z5)) IF_8(z0, z1, z2, z3, z4, z5, false) -> c37(RING(z0, z1, z2, tail(z3), sndsplit(z5, app(map_f(three, head(z3)), z4)), z5)) IF_9(z0, z1, z2, z3, z4, z5, true) -> c39(RING(z0, z1, z2, tail(z3), z4, z5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c31(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_4(x0, x1, x2, x3, x4, x5, false) -> c32(RING(x0, tail(x1), sndsplit(x5, app(map_f(two, head(x1)), x2)), cons(fstsplit(x5, app(map_f(two, head(x1)), x2)), x3), x4, x5)) IF_8(x0, x1, x2, x3, x4, x5, false) -> c38(RING(x0, x1, x2, tail(x3), sndsplit(x5, app(map_f(three, head(x3)), x4)), x5)) RING(x0, x1, cons(x2, x3), x4, x5, s(z0)) -> c20(IF_2(x0, x1, cons(x2, x3), x4, x5, s(z0), leq(z0, length(x3))), LEQ(s(z0), length(cons(x2, x3))), LENGTH(cons(x2, x3))) RING(x0, x1, cons(x2, nil), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, nil), x4, x5, x6, leq(x6, s(0))), LEQ(x6, length(cons(x2, nil))), LENGTH(cons(x2, nil))) RING(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6) -> c20(IF_2(x0, x1, cons(x2, cons(z0, z1)), x4, x5, x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x2, cons(z0, z1)))), LENGTH(cons(x2, cons(z0, z1)))) RING(x0, x1, x2, x3, cons(x4, x5), s(z0)) -> c22(IF_6(x0, x1, x2, x3, cons(x4, x5), s(z0), leq(z0, length(x5))), LEQ(s(z0), length(cons(x4, x5))), LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, cons(x4, nil), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, nil), x6, leq(x6, s(0))), LEQ(x6, length(cons(x4, nil))), LENGTH(cons(x4, nil))) RING(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6) -> c22(IF_6(x0, x1, x2, x3, cons(x4, cons(z0, z1)), x6, leq(x6, s(s(length(z1))))), LEQ(x6, length(cons(x4, cons(z0, z1)))), LENGTH(cons(x4, cons(z0, z1)))) RING(cons(z0, x1), x2, x3, x4, x5, s(x6)) -> c19(IF_1(cons(z0, x1), x2, x3, x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x1))) RING(cons(x0, z0), x2, x3, x4, x5, s(0)) -> c19(IF_1(cons(x0, z0), x2, x3, x4, x5, s(0), empty(cons(x0, nil))), FSTSPLIT(s(0), cons(x0, z0))) RING(cons(x0, nil), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, nil), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, nil))), FSTSPLIT(s(s(z0)), cons(x0, nil))) RING(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0))) -> c19(IF_1(cons(x0, cons(z1, z2)), x2, x3, x4, x5, s(s(z0)), empty(cons(x0, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x0, cons(z1, z2)))) RING(x0, cons(nil, x2), x3, x4, x5, x6) -> c21(IF_5(x0, cons(nil, x2), x3, x4, x5, x6, empty(nil)), MAP_F(two, head(cons(nil, x2)))) RING(x0, x1, x2, cons(nil, x4), x5, x6) -> c23(IF_9(x0, x1, x2, cons(nil, x4), x5, x6, empty(nil)), MAP_F(three, head(cons(nil, x4)))) IF_2(x0, x1, cons(z0, x3), x4, x5, s(x6), true) -> c26(IF_3(x0, x1, cons(z0, x3), x4, x5, s(x6), false), FSTSPLIT(s(x6), cons(z0, x3))) IF_2(x0, x1, cons(x2, z0), x4, x5, s(0), true) -> c26(IF_3(x0, x1, cons(x2, z0), x4, x5, s(0), empty(cons(x2, nil))), FSTSPLIT(s(0), cons(x2, z0))) IF_2(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, nil), x4, x5, s(s(z0)), empty(cons(x2, nil))), FSTSPLIT(s(s(z0)), cons(x2, nil))) IF_2(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), true) -> c26(IF_3(x0, x1, cons(x2, cons(z1, z2)), x4, x5, s(s(z0)), empty(cons(x2, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x2, cons(z1, z2)))) IF_2(x0, cons(nil, x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(nil, x2), x3, x4, x5, x6, empty(fstsplit(x6, app(nil, x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(nil, x2))), x3)), APP(map_f(two, head(cons(nil, x2))), x3), MAP_F(two, head(cons(nil, x2)))) IF_2(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, false) -> c27(IF_4(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6, empty(fstsplit(x6, app(app(f(two, z1), map_f(two, z2)), x3)))), FSTSPLIT(x6, app(map_f(two, head(cons(cons(z1, z2), x2))), x3)), APP(map_f(two, head(cons(cons(z1, z2), x2))), x3), MAP_F(two, head(cons(cons(z1, z2), x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c31(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), SNDSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c31(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, z0), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, tail(cons(z0, z1)), sndsplit(x6, app(map_f(two, z0), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(z0, z1), x3, x4, x5, x6, false) -> c32(RING(x0, z1, sndsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), cons(fstsplit(x6, app(map_f(two, head(cons(z0, z1))), x3)), x4), x5, x6), FSTSPLIT(x6, app(map_f(two, z0), x3)), APP(map_f(two, head(cons(z0, z1))), x3), MAP_F(two, head(cons(z0, z1)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), sndsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), cons(nil, x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c32(RING(x0, tail(cons(x1, x2)), app(map_f(two, head(cons(x1, x2))), x3), cons(fstsplit(0, app(map_f(two, head(cons(x1, x2))), x3)), x4), x5, 0), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_6(x0, x1, x2, x3, cons(z0, x5), s(x6), true) -> c34(IF_7(x0, x1, x2, x3, cons(z0, x5), s(x6), false), FSTSPLIT(s(x6), cons(z0, x5))) IF_6(x0, x1, x2, x3, cons(x4, z0), s(0), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, z0), s(0), empty(cons(x4, nil))), FSTSPLIT(s(0), cons(x4, z0))) IF_6(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, nil), s(s(z0)), empty(cons(x4, nil))), FSTSPLIT(s(s(z0)), cons(x4, nil))) IF_6(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), true) -> c34(IF_7(x0, x1, x2, x3, cons(x4, cons(z1, z2)), s(s(z0)), empty(cons(x4, cons(z1, fstsplit(z0, z2))))), FSTSPLIT(s(s(z0)), cons(x4, cons(z1, z2)))) IF_6(x0, x1, x2, cons(nil, x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(nil, x4), x5, x6, empty(fstsplit(x6, app(nil, x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(nil, x4))), x5)), APP(map_f(three, head(cons(nil, x4))), x5), MAP_F(three, head(cons(nil, x4)))) IF_6(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, false) -> c35(IF_8(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6, empty(fstsplit(x6, app(app(f(three, z1), map_f(three, z2)), x5)))), FSTSPLIT(x6, app(map_f(three, head(cons(cons(z1, z2), x4))), x5)), APP(map_f(three, head(cons(cons(z1, z2), x4))), x5), MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, tail(cons(z0, z1)), sndsplit(x6, app(map_f(three, z0), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(z0, z1), x5, x6, false) -> c38(RING(x0, x1, x2, z1, sndsplit(x6, app(map_f(three, head(cons(z0, z1))), x5)), x6), SNDSPLIT(x6, app(map_f(three, z0), x5)), APP(map_f(three, head(cons(z0, z1))), x5), MAP_F(three, head(cons(z0, z1)))) IF_8(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c38(RING(x0, x1, x2, tail(cons(x3, x4)), app(map_f(three, head(cons(x3, x4))), x5), 0), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) K tuples: APP(cons(z0, z1), z2) -> c14(APP(z1, z2)) IF_6(x0, x1, x2, x3, x4, 0, false) -> c35(IF_8(x0, x1, x2, x3, x4, 0, empty(nil)), APP(map_f(three, head(x3)), x4), MAP_F(three, head(x3))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LEQ(x6, length(cons(x2, x3)))) RING(x0, x1, cons(x2, x3), x4, x5, x6) -> c(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, x4) -> c20(LEQ(x4, length(nil))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LEQ(x6, length(cons(x4, x5)))) RING(x0, x1, x2, x3, cons(x4, x5), x6) -> c1(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, x4) -> c22(LEQ(x4, length(nil))) RING(cons(x0, x1), x2, x3, x4, x5, s(x6)) -> c19(FSTSPLIT(s(x6), cons(x0, x1))) RING(x0, cons(x1, x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(x1, x2)))) RING(x0, cons(cons(z1, z2), x2), x3, x4, x5, x6) -> c21(MAP_F(two, head(cons(cons(z1, z2), x2)))) RING(x0, x1, x2, cons(x3, x4), x5, x6) -> c23(MAP_F(three, head(cons(x3, x4)))) RING(x0, x1, x2, cons(cons(z1, z2), x4), x5, x6) -> c23(MAP_F(three, head(cons(cons(z1, z2), x4)))) IF_2(x0, x1, cons(x2, x3), x4, x5, s(x6), true) -> c26(FSTSPLIT(s(x6), cons(x2, x3))) RING(x0, x1, x2, x3, x4, 0) -> c20(LENGTH(x2)) RING(x0, x1, cons(x2, x3), x4, x5, 0) -> c20(LENGTH(cons(x2, x3))) RING(x0, x1, nil, x2, x3, s(z0)) -> c20(IF_2(x0, x1, nil, x2, x3, s(z0), false), LEQ(s(z0), length(nil))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(FSTSPLIT(x6, app(map_f(two, head(cons(x1, x2))), x3))) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(APP(map_f(two, head(cons(x1, x2))), x3)) IF_2(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c3(MAP_F(two, head(cons(x1, x2)))) IF_2(x0, cons(x1, x2), x3, x4, x5, 0, false) -> c27(IF_4(x0, cons(x1, x2), x3, x4, x5, 0, empty(nil)), APP(map_f(two, head(cons(x1, x2))), x3), MAP_F(two, head(cons(x1, x2)))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c31(SNDSPLIT(x6, app(map_f(two, x1), x3))) IF_4(x0, cons(x1, x2), x3, x4, x5, x6, false) -> c32(FSTSPLIT(x6, app(map_f(two, x1), x3))) IF_6(x0, x1, x2, x3, cons(x4, x5), s(x6), true) -> c34(FSTSPLIT(s(x6), cons(x4, x5))) RING(x0, x1, x2, x3, x4, 0) -> c22(LENGTH(x4)) RING(x0, x1, x2, x3, cons(x4, x5), 0) -> c22(LENGTH(cons(x4, x5))) RING(x0, x1, x2, x3, nil, s(z0)) -> c22(IF_6(x0, x1, x2, x3, nil, s(z0), false), LEQ(s(z0), length(nil))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(FSTSPLIT(x6, app(map_f(three, head(cons(x3, x4))), x5))) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(APP(map_f(three, head(cons(x3, x4))), x5)) IF_6(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c6(MAP_F(three, head(cons(x3, x4)))) IF_6(x0, x1, x2, cons(x3, x4), x5, 0, false) -> c35(IF_8(x0, x1, x2, cons(x3, x4), x5, 0, empty(nil)), APP(map_f(three, head(cons(x3, x4))), x5), MAP_F(three, head(cons(x3, x4)))) IF_8(x0, x1, x2, cons(x3, x4), x5, x6, false) -> c38(SNDSPLIT(x6, app(map_f(three, x3), x5))) Defined Rule Symbols: leq_2, length_1, sndsplit_2, fstsplit_2, empty_1, map_f_2, head_1, app_2, tail_1 Defined Pair Symbols: FSTSPLIT_2, SNDSPLIT_2, LEQ_2, LENGTH_1, APP_2, IF_1_7, IF_3_7, IF_7_7, MAP_F_2, IF_4_7, IF_5_7, IF_8_7, IF_9_7, RING_6, IF_2_7, IF_6_7 Compound Symbols: c2_1, c5_1, c10_1, c12_1, c14_1, c24_2, c25_2, c28_2, c29_2, c36_2, c16_1, c30_1, c33_1, c37_1, c39_1, c31_1, c32_1, c38_1, c20_3, c_1, c20_2, c20_1, c22_3, c1_1, c22_2, c22_1, c19_2, c19_1, c21_2, c21_1, c23_2, c23_1, c26_2, c26_1, c27_4, c27_3, c3_1, c4_1, c31_4, c31_3, c32_4, c32_3, c34_2, c34_1, c35_4, c35_3, c6_1, c7_1, c38_4, c38_3